#include "tool_setup.h"
/*
 * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
 */
#ifdef USE_MANUAL
#include "tool_hugehelp.h"
static const char * const curlman[] = {
  "\t  _   _ ____  _",
  "      ___| | | |  _ \\| |",
  "     / __| | | | |_) | |",
  "    | (__| |_| |  _ <| |___",
  "     \\___|\\___/|_| \\_\\_____|",
  "NAME",
  "\n    curl - transfer a URL",
  "\nSYNOPSIS",
  "\n    curl [options / URLs]",
  "\nDESCRIPTION",
  "\n    curl is a tool for  transferring data from or  to a server using URLs.  It",
  "    supports these protocols:  DICT, FILE, FTP,  FTPS, GOPHER, GOPHERS,  HTTP,",
  "    HTTPS, IMAP, IMAPS,  LDAP, LDAPS,  MQTT, POP3, POP3S,  RTMP, RTMPS,  RTSP,",
  "    SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.",
  "\n    curl  is  powered  by  libcurl  for  all  transfer-related  features.  See",
  "    libcurl(3) for details.",
  "\nURL",
  "\n    The URL syntax is protocol-dependent.  You find a detailed description  in",
  "    RFC 3986.",
  "\n    If you provide a  URL without a  leading protocol:// scheme, curl  guesses",
  "    what protocol you want. It then defaults to HTTP but assumes  others based",
  "    on often-used hostname prefixes. For example, for hostnames starting  with",
  "    \"ftp.\" curl assumes you want FTP.",
  "\n    You can specify any amount of  URLs on the command line. They are  fetched",
  "    in a sequential manner in  the specified order unless you use  --parallel.",
  "    You can specify command  line options and URLs mixed  and in any order  on",
  "    the command line.",
  "\n    curl attempts to reuse connections when doing multiple transfers, so  that",
  "    getting many files from the same  server do not use multiple connects  and",
  "    setup handshakes. This improves speed.  Connection reuse can only be  done",
  "    for URLs  specified for a  single command  line invocation  and cannot  be",
  "    performed between separate curl runs.",
  "\n    Provide an IPv6 zone id in  the URL with an escaped percentage sign.  Like",
  "    in",
  "\n\t\"http://[fe80::3%25eth0]/\"",
  "\n    Everything provided on the command line that is not a command  line option",
  "    or its argument, curl assumes is a URL and treats it as such.",
  "\nGLOBBING",
  "\n    You can specify  multiple URLs or  parts of URLs  by writing lists  within",
  "    braces or ranges within brackets. We call this \"globbing\".",
  "\n    Provide a list with three different names like this:",
  "\n\t\"http://site.{one,two,three}.com\"",
  "\n    Do sequences of alphanumeric series by using [] as in:",
  "\n\t\"ftp://ftp.example.com/file[1-100].txt\"",
  "\n    With leading zeroes:",
  "\n\t\"ftp://ftp.example.com/file[001-100].txt\"",
  "\n    With letters through the alphabet:",
  "\n\t\"ftp://ftp.example.com/file[a-z].txt\"",
  "\n    Nested sequences are not supported, but  you can use several ones next  to",
  "    each other:",
  "\n\t\"http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html\"",
  "\n    You can specify a step counter for  the ranges to get every Nth number  or",
  "    letter:",
  "\n\t\"http://example.com/file[1-100:10].txt\"",
  "\n\t\"http://example.com/file[a-z:2].txt\"",
  "\n    When using []  or {} sequences  when invoked from  a command line  prompt,",
  "    you probably have to  put the full URL within  double quotes to avoid  the",
  "    shell from  interfering  with it.  This  also goes  for  other  characters",
  "    treated special, like for example '&', '?' and '*'.",
  "\n    Switch off globbing with --globoff.",
  "\nVARIABLES",
  "\n    curl supports command line variables (added in 8.3.0). Set variables  with",
  "    --variable name=content  or  --variable  name@file (where  \"file\"  can  be",
  "    stdin if set to a single dash (-)).",
  "\n    Variable contents can  be expanded in  option parameters using  \"{{name}}\"",
  "    if the option name  is prefixed with  \"--expand-\". This gets the  contents",
  "    of the variable \"name\" inserted, or a blank if the name does not  exist as",
  "    a variable. Insert  \"{{\" verbatim  in the  string by prefixing  it with  a",
  "    backslash, like \"\\{{\".",
  "\n    You an access and  expand environment variables  by first importing  them.",
  "    You can select  to either require  the environment variable  to be set  or",
  "    you can  provide a default  value in  case it  is not  already set.  Plain",
  "    --variable %name  imports the  variable called  'name' but  exits with  an",
  "    error if  that  environment variable  is not  already  set. To  provide  a",
  "    default  value  if  it  is  not  set,  use  --variable   %name=content  or",
  "    --variable %name@content.",
  "\n    Example. Get the USER environment variable  into the URL, fail if USER  is",
  "    not set:",
  "\n\t--variable '%USER'",
  "\t--expand-url = \"https://example.com/api/{{USER}}/method\"",
  "\n    When expanding variables, curl supports  a set of functions that can  make",
  "    the variable  contents more convenient  to use.  It can  trim leading  and",
  "    trailing white space  with \"trim\", it  can output the  contents as a  JSON",
  "    quoted string  with \"json\", URL  encode the  string with  \"url\" or  base64",
  "    encode it  with \"b64\". To  apply functions  to a  variable expansion,  add",
  "    them colon separated to the  right side of the variable. Variable  content",
  "    holding null bytes that are not encoded when expanded cause error.",
  "\n    Example: get the contents of  a file called $HOME/.secret into a  variable",
  "    called \"fix\". Make sure  that the content  is trimmed and  percent-encoded",
  "    when sent as POST data:",
  "\n\t--variable %HOME",
  "\t--expand-variable fix@{{HOME}}/.secret",
  "\t--expand-data \"{{fix:trim:url}}\"",
  "\thttps://example.com/",
  "\n    Command line variables and expansions were added in 8.3.0.",
  "\nOUTPUT",
  "\n    If not told otherwise, curl writes the received data to stdout. It  can be",
  "    instructed to  instead  save  that  data  into a  local  file,  using  the",
  "    --output or  --remote-name options.  If  curl is  given multiple  URLs  to",
  "    transfer on  the command  line, it  similarly needs  multiple options  for",
  "    where to save them.",
  "\n    curl does  not parse  or otherwise  \"understand\" the  content  it gets  or",
  "    writes as  output. It  does  no encoding  or decoding,  unless  explicitly",
  "    asked to with dedicated command line options.",
  "\nPROTOCOLS",
  "\n    curl supports  numerous protocols,  or  put in  URL terms:  schemes.  Your",
  "    particular build may not support them all.",
  "\n    DICT",
  "\n\tLets you lookup words using online dictionaries.",
  "\n    FILE",
  "\n\tRead or write  local files.  curl does not  support accessing  file://",
  "\tURL remotely, but when running  on Microsoft Windows using the  native",
  "\tUNC approach works.",
  "\n    FTP(S)",
  "\n\tcurl supports  the File Transfer  Protocol with  a lot  of tweaks  and",
  "\tlevers. With or without using TLS.",
  "\n    GOPHER(S)",
  "\n\tRetrieve files.",
  "\n    HTTP(S)",
  "\n\tcurl supports HTTP with numerous options and variations. It can  speak",
  "\tHTTP version 0.9,  1.0, 1.1, 2  and 3 depending  on build options  and",
  "\tthe correct command line options.",
  "\n    IMAP(S)",
  "\n\tUsing the mail  reading protocol,  curl can download  emails for  you.",
  "\tWith or without using TLS.",
  "\n    LDAP(S)",
  "\n\tcurl can do directory lookups for you, with or without TLS.",
  "\n    MQTT",
  "\n\tcurl supports MQTT version 3.  Downloading over MQTT equals  subscribe",
  "\tto a topic  while uploading/posting  equals publish on  a topic.  MQTT",
  "\tover TLS is not supported (yet).",
  "\n    POP3(S)",
  "\n\tDownloading from a pop3 server  means getting a mail. With or  without",
  "\tusing TLS.",
  "\n    RTMP(S)",
  "\n\tThe Realtime Messaging Protocol is  primarily used to serve  streaming",
  "\tmedia and curl can download it.",
  "\n    RTSP",
  "\n\tcurl supports RTSP 1.0 downloads.",
  "\n    SCP",
  "\n\tcurl supports SSH version 2 scp transfers.",
  "\n    SFTP",
  "\n\tcurl supports SFTP (draft 5) done over SSH version 2.",
  "\n    SMB(S)",
  "\n\tcurl supports SMB version 1 for upload and download.",
  "\n    SMTP(S)",
  "\n\tUploading contents to an SMTP  server means sending an email. With  or",
  "\twithout TLS.",
  "\n    TELNET",
  "\n\tFetching a telnet  URL starts  an interactive session  where it  sends",
  "\twhat it reads on stdin and outputs what the server sends it.",
  "\n    TFTP",
  "\n\tcurl can do TFTP downloads and uploads.",
  "\nPROGRESS METER",
  "\n    curl normally displays a progress meter during operations, indicating  the",
  "    amount of transferred data, transfer speeds and estimated time left,  etc.",
  "    The progress meter  displays the transfer  rate in  bytes per second.  The",
  "    suffixes (k, M, G, T, P) are 1024 based. For example 1k is 1024  bytes. 1M",
  "    is 1048576 bytes.",
  "\n    curl displays this data to the terminal by default, so if you  invoke curl",
  "    to do an  operation and  it is  about to write  data to  the terminal,  it",
  "    disables the  progress meter  as otherwise  it would  mess  up the  output",
  "    mixing progress meter and response data.",
  "\n    If you want a progress  meter for HTTP POST  or PUT requests, you need  to",
  "    redirect  the response  output  to  a  file,  using  shell  redirect  (>),",
  "    --output or similar.",
  "\n    This does not apply to FTP upload as that operation does not spit  out any",
  "    response data to the terminal.",
  "\n    If you prefer a progress bar instead of the regular  meter, --progress-bar",
  "    is your friend. You  can also disable  the progress meter completely  with",
  "    the --silent option.",
  "\nVERSION",
  "\n    This man page describes  curl 8.7.1. If you  use a later version,  chances",
  "    are this  man page  does not  fully document  it. If  you  use an  earlier",
  "    version, this document  tries to include  version information about  which",
  "    specific version that introduced changes.",
  "\n    You can always learn which the latest curl version is by running",
  "\n\tcurl https://curl.se/info",
  "\n    The  online version  of  this  man  page  is  always  showing  the  latest",
  "    incarnation: https://curl.se/docs/manpage.html",
  "\nOPTIONS",
  "\n    Options start  with one  or two  dashes. Many  of the  options require  an",
  "    additional value next  to them.  If provided  text does not  start with  a",
  "    dash, it is presumed to be and treated as a URL.",
  "\n    The short \"single-dash\" form of the  options, -d for example, may be  used",
  "    with or without a space  between it and its  value, although a space is  a",
  "    recommended separator.  The long  double-dash  form, --data  for  example,",
  "    requires a space between it and its value.",
  "\n    Short version options that do not  need any additional values can be  used",
  "    immediately next to each other, like  for example you can specify all  the",
  "    options -O, -L and -v at once as -OLv.",
  "\n    In general, all boolean  options are enabled  with --option and yet  again",
  "    disabled with  --no-option. That  is, you  use the  same  option name  but",
  "    prefix it with \"no-\". However, in  this list we mostly only list and  show",
  "    the --option version of them.",
  "\n    When --next is used, it resets  the parser state and you start again  with",
  "    a clean  option state,  except for  the options  that  are global.  Global",
  "    options retain their values and meaning even after --next.",
  "\n    The   following    options    are   global:    --fail-early,    --libcurl,",
  "    --parallel-immediate, --parallel,  --progress-bar,  --rate,  --show-error,",
  "    --stderr,  --styled-output,  --trace-ascii,  --trace-config,  --trace-ids,",
  "    --trace-time, --trace and --verbose.",
  "\n    --abstract-unix-socket <path>",
  "\t    (HTTP) Connect through an abstract Unix domain socket, instead  of",
  "\t    using the network.  Note: netstat  shows the path  of an  abstract",
  "\t    socket prefixed with \"@\", however  the <path> argument should  not",
  "\t    have this leading character.",
  "\n\t    If --abstract-unix-socket is provided several times, the last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --abstract-unix-socket socketpath https://example.com",
  "\n\t    See also --unix-socket. Added in 7.53.0.",
  "\n    --alt-svc <filename>",
  "\t    (HTTPS) Enable the alt-svc  parser. If the  filename points to  an",
  "\t    existing alt-svc cache  file, that  gets used.  After a  completed",
  "\t    transfer, the cache is saved to the filename again if it  has been",
  "\t    modified.",
  "\n\t    Specify a \"\"  filename (zero length)  to avoid loading/saving  and",
  "\t    make curl just handle the cache in memory.",
  "\n\t    If this option  is used  several times, curl  loads contents  from",
  "\t    all the files but the last one is used for saving.",
  "\n\t    --alt-svc can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --alt-svc svc.txt https://example.com",
  "\n\t    See also --resolve and --connect-to. Added in 7.64.1.",
  "\n    --anyauth",
  "\t    (HTTP) Figure  out authentication  method automatically,  and  use",
  "\t    the most secure  one the remote  site claims  to support. This  is",
  "\t    done by first doing a  request and checking the  response-headers,",
  "\t    thus possibly inducing  an extra network  round-trip. This  option",
  "\t    is used  instead  of  setting a  specific  authentication  method,",
  "\t    which you can do with --basic, --digest, --ntlm, and --negotiate.",
  "\n\t    Using --anyauth is not recommended  if you do uploads from  stdin,",
  "\t    since it may  require data to  be sent twice  and then the  client",
  "\t    must be able to  rewind. If the  need should arise when  uploading",
  "\t    from stdin, the upload operation fails.",
  "\n\t    Used together with --user.",
  "\n\t    Providing --anyauth multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --anyauth --user me:pwd https://example.com",
  "\n\t    See also --proxy-anyauth, --basic and --digest.",
  "\n    -a, --append",
  "\t    (FTP SFTP) When used in  an upload, this option makes curl  append",
  "\t    to the target file instead  of overwriting it. If the remote  file",
  "\t    does not exist, it is created.  Note that this flag is ignored  by",
  "\t    some SFTP servers (including OpenSSH).",
  "\n\t    Providing --append multiple times has no extra effect. Disable  it",
  "\t    again with --no-append.",
  "\n\t    Example:",
  "\t     curl --upload-file local --append ftp://example.com/",
  "\n\t    See also --range and --continue-at.",
  "\n    --aws-sigv4 <provider1[:prvdr2[:reg[:srv]]]>",
  "\t    (HTTP) Use AWS V4 signature authentication in the transfer.",
  "\n\t    The provider argument is  a string that  is used by the  algorithm",
  "\t    when creating outgoing authentication headers.",
  "\n\t    The region argument is a  string that points to a geographic  area",
  "\t    of a resources  collection (region-code) when  the region name  is",
  "\t    omitted from the endpoint.",
  "\n\t    The service  argument  is  a  string that  points  to  a  function",
  "\t    provided by  a  cloud  (service-code) when  the  service  name  is",
  "\t    omitted from the endpoint.",
  "\n\t    If --aws-sigv4 is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --aws-sigv4 \"aws:amz:us-east-2:es\" --user \"key:secret\" https://example.com",
  "\n\t    See also --basic and --user. Added in 7.75.0.",
  "\n    --basic",
  "\t    (HTTP) Use HTTP  Basic authentication with  the remote host.  This",
  "\t    method is  the  default  and this  option  is  usually  pointless,",
  "\t    unless you use it to override a previously set option that  sets a",
  "\t    different authentication  method  (such as  --ntlm,  --digest,  or",
  "\t    --negotiate).",
  "\n\t    Used together with --user.",
  "\n\t    Providing --basic multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl -u name:password --basic https://example.com",
  "\n\t    See also --proxy-basic.",
  "\n    --ca-native",
  "\t    (TLS) Use the CA store from the native operating system  to verify",
  "\t    the peer. By default, curl  otherwise uses a CA store provided  in",
  "\t    a  single file  or  directory,  but  when  using  this  option  it",
  "\t    interfaces the operating system's own vault.",
  "\n\t    This option works for curl  on Windows when built to use  OpenSSL,",
  "\t    wolfSSL (added in 8.3.0) or GnuTLS (added in 8.5.0). When  curl on",
  "\t    Windows is  built to  use Schannel,  this feature  is implied  and",
  "\t    curl then only uses the native CA store.",
  "\n\t    Providing --ca-native multiple times has no extra effect.  Disable",
  "\t    it again with --no-ca-native.",
  "\n\t    Example:",
  "\t     curl --ca-native https://example.com",
  "\n\t    See also --cacert, --capath and --insecure. Added in 8.2.0.",
  "\n    --cacert <file>",
  "\t    (TLS) Use the specified certificate  file to verify the peer.  The",
  "\t    file may  contain  multiple CA  certificates.  The  certificate(s)",
  "\t    must be in  PEM format. Normally  curl is built  to use a  default",
  "\t    file for  this, so this  option is  typically used  to alter  that",
  "\t    default file.",
  "\n\t    curl recognizes  the environment  variable named  'CURL_CA_BUNDLE'",
  "\t    if it is  set and the TLS  backend is not  Schannel, and uses  the",
  "\t    given path as a  path to a CA  cert bundle. This option  overrides",
  "\t    that variable.",
  "\n\t    The windows version  of curl  automatically looks for  a CA  certs",
  "\t    file named 'curl-ca-bundle.crt', either  in the same directory  as",
  "\t    curl.exe, or in the  Current Working Directory,  or in any  folder",
  "\t    along your PATH.",
  "\n\t    (iOS and macOS only)  If curl is  built against Secure  Transport,",
  "\t    then this  option is  supported  for backward  compatibility  with",
  "\t    other SSL engines, but it should not be set. If the option  is not",
  "\t    set, then  curl  uses the  certificates  in the  system  and  user",
  "\t    Keychain to  verify the  peer, which  is the  preferred method  of",
  "\t    verifying the peer's certificate chain.",
  "\n\t    (Schannel only) This option is  supported for Schannel in  Windows",
  "\t    7 or  later  (added  in  7.60.0). This  option  is  supported  for",
  "\t    backward compatibility  with  other  SSL engines;  instead  it  is",
  "\t    recommended to  use  Windows'  store  of  root  certificates  (the",
  "\t    default for Schannel).",
  "\n\t    If --cacert  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --cacert CA-file.txt https://example.com",
  "\n\t    See also --capath and --insecure.",
  "\n    --capath <dir>",
  "\t    (TLS) Use the specified certificate directory to verify the  peer.",
  "\t    Multiple paths  can  be provided  by  separated with  colon  (\":\")",
  "\t    (e.g.  \"path1:path2:path3\").  The  certificates  must  be  in  PEM",
  "\t    format, and if curl is  built against OpenSSL, the directory  must",
  "\t    have been  processed  using  the c_rehash  utility  supplied  with",
  "\t    OpenSSL. Using  --capath can  allow OpenSSL-powered  curl to  make",
  "\t    SSL-connections much more efficiently  than using --cacert if  the",
  "\t    --cacert file contains many CA certificates.",
  "\n\t    If this option is set, the default capath value is ignored.",
  "\n\t    If --capath  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --capath /local/directory https://example.com",
  "\n\t    See also --cacert and --insecure.",
  "\n    --cert-status",
  "\t    (TLS) Verify the  status of  the server certificate  by using  the",
  "\t    Certificate Status Request (aka. OCSP stapling) TLS extension.",
  "\n\t    If this option is  enabled and the  server sends an invalid  (e.g.",
  "\t    expired) response,  if  the  response  suggests  that  the  server",
  "\t    certificate has been revoked, or  no response at all is  received,",
  "\t    the verification fails.",
  "\n\t    This support  is currently  only implemented  in the  OpenSSL  and",
  "\t    GnuTLS backends.",
  "\n\t    Providing  --cert-status  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-cert-status.",
  "\n\t    Example:",
  "\t     curl --cert-status https://example.com",
  "\n\t    See also --pinnedpubkey.",
  "\n    --cert-type <type>",
  "\t    (TLS) Set type of the  provided client certificate. PEM, DER,  ENG",
  "\t    and P12 are recognized types.",
  "\n\t    The default type depends  on the TLS  backend and is usually  PEM,",
  "\t    however for Secure Transport and Schannel it is P12. If  --cert is",
  "\t    a pkcs11: URI then ENG is the default type.",
  "\n\t    If --cert-type is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --cert-type PEM --cert file https://example.com",
  "\n\t    See also --cert, --key and --key-type.",
  "\n    -E, --cert <certificate[:password]>",
  "\t    (TLS) Use the  specified client  certificate file  when getting  a",
  "\t    file  with  HTTPS,  FTPS   or  another  SSL-based  protocol.   The",
  "\t    certificate must be in PKCS#12  format if using Secure  Transport,",
  "\t    or PEM format if using any other engine. If the  optional password",
  "\t    is not specified,  it is queried  for on  the terminal. Note  that",
  "\t    this option assumes  a certificate  file that is  the private  key",
  "\t    and the client certificate concatenated.  See --cert and --key  to",
  "\t    specify them independently.",
  "\n\t    In the <certificate> portion of the argument, you must escape  the",
  "\t    character \":\"  as  \"\\:\"  so  that  it is  not  recognized  as  the",
  "\t    password delimiter. Similarly,  you must escape  the double  quote",
  "\t    character as  \\\"  so  that  it  is not  recognized  as  an  escape",
  "\t    character.",
  "\n\t    If curl is built  against OpenSSL library,  and the engine  pkcs11",
  "\t    is available,  then  a  PKCS#11 URI  (RFC  7512) can  be  used  to",
  "\t    specify a  certificate  located  in a  PKCS#11  device.  A  string",
  "\t    beginning with \"pkcs11:\"  is interpreted  as a PKCS#11  URI. If  a",
  "\t    PKCS#11 URI  is  provided, then  the  --engine option  is  set  as",
  "\t    \"pkcs11\" if none was  provided and the  --cert-type option is  set",
  "\t    as \"ENG\" if none was provided.",
  "\n\t    (iOS and macOS only)  If curl is  built against Secure  Transport,",
  "\t    then  the  certificate  string  can  either  be  the  name   of  a",
  "\t    certificate/private key in  the system  or user  keychain, or  the",
  "\t    path to  a PKCS#12-encoded  certificate and  private key.  If  you",
  "\t    want to use a file  from the current directory, please precede  it",
  "\t    with \"./\" prefix, in order to avoid confusion with a nickname.",
  "\n\t    (Schannel only) Client  certificates must be  specified by a  path",
  "\t    expression to a certificate store. (Loading PFX is not  supported;",
  "\t    you  can import  it  to  a  store  first).  You  can  use  \"<store",
  "\t    location>\\<store name>\\<thumbprint>\" to refer to a certificate  in",
  "\t    the     system      certificates     store,      for      example,",
  "\t    \"CurrentUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a\".",
  "\t    Thumbprint is  usually a SHA-1  hex string  which you  can see  in",
  "\t    certificate details.  Following  store  locations  are  supported:",
  "\t    CurrentUser,     LocalMachine,      CurrentService,      Services,",
  "\t    CurrentUserGroupPolicy,\tLocalMachineGroupPolicy\t and",
  "\t    LocalMachineEnterprise.",
  "\n\t    If --cert is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --cert certfile --key keyfile https://example.com",
  "\n\t    See also --cert-type, --key and --key-type.",
  "\n    --ciphers <list of ciphers>",
  "\t    (TLS) Specifies which ciphers to  use in the connection. The  list",
  "\t    of ciphers must specify valid ciphers. Read up on SSL  cipher list",
  "\t    details on this URL:",
  "\n\t    https://curl.se/docs/ssl-ciphers.html",
  "\n\t    If --ciphers  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --ciphers ECDHE-ECDSA-AES256-CCM8 https://example.com",
  "\n\t    See also --tlsv1.3, --tls13-ciphers and --proxy-ciphers.",
  "\n    --compressed-ssh",
  "\t    (SCP SFTP) Enables  built-in SSH compression.  This is a  request,",
  "\t    not an order; the server may or may not do it.",
  "\n\t    Providing --compressed-ssh  multiple times  has no  extra  effect.",
  "\t    Disable it again with --no-compressed-ssh.",
  "\n\t    Example:",
  "\t     curl --compressed-ssh sftp://example.com/",
  "\n\t    See also --compressed. Added in 7.56.0.",
  "\n    --compressed",
  "\t    (HTTP) Request a compressed response  using one of the  algorithms",
  "\t    curl supports, and automatically decompress the content.",
  "\n\t    Response headers  are not  modified  when saved,  so if  they  are",
  "\t    \"interpreted\" separately again at a later point they might  appear",
  "\t    to be  saying that  the content  is (still)  compressed; while  in",
  "\t    fact it has already been decompressed.",
  "\n\t    If this  option  is  used  and the  server  sends  an  unsupported",
  "\t    encoding, curl reports an error. This is a request, not  an order;",
  "\t    the server may or may not deliver data compressed.",
  "\n\t    Providing  --compressed  multiple  times  has  no  extra   effect.",
  "\t    Disable it again with --no-compressed.",
  "\n\t    Example:",
  "\t     curl --compressed https://example.com",
  "\n\t    See also --compressed-ssh.",
  "\n    -K, --config <file>",
  "\t    Specify a text file to read curl arguments from. The  command line",
  "\t    arguments found  in  the  text  file  are used  as  if  they  were",
  "\t    provided on the command line.",
  "\n\t    Options and their parameters  must be specified  on the same  line",
  "\t    in the file, separated by  whitespace, colon, or the equals  sign.",
  "\t    Long option  names can  optionally  be given  in the  config  file",
  "\t    without the initial double dashes  and if so, the colon or  equals",
  "\t    characters can be used as  separators. If the option is  specified",
  "\t    with one or two dashes, there can be no colon or  equals character",
  "\t    between the option and its parameter.",
  "\n\t    If the parameter contains  whitespace or starts  with a colon  (:)",
  "\t    or equals sign (=),  it must be  specified enclosed within  double",
  "\t    quotes (\"like this\").  Within double quotes  the following  escape",
  "\t    sequences are available: \\\\,  \\\", \\t, \\n,  \\r and \\v. A  backslash",
  "\t    preceding any other letter is ignored.",
  "\n\t    If  the  first  non-blank  column  of  a  config  line  is  a  '#'",
  "\t    character, that line is treated as a comment.",
  "\n\t    Only write  one option per  physical line  in the  config file.  A",
  "\t    single line is  required to be  no more  than 10 megabytes  (since",
  "\t    8.2.0).",
  "\n\t    Specify the filename to  --config as minus  \"-\" to make curl  read",
  "\t    the file from stdin.",
  "\n\t    Note that to  be able  to specify a  URL in the  config file,  you",
  "\t    need to  specify it  using the  --url option,  and  not by  simply",
  "\t    writing the URL  on its  own line.  So, it could  look similar  to",
  "\t    this:",
  "\n\t\turl = \"https://curl.se/docs/\"",
  "\n\t\t# --- Example file ---",
  "\t\t# this is a comment",
  "\t\turl = \"example.com\"",
  "\t\toutput = \"curlhere.html\"",
  "\t\tuser-agent = \"superagent/1.0\"",
  "\n\t\t# and fetch another URL too",
  "\t\turl = \"example.com/docs/manpage.html\"",
  "\t\t-O",
  "\t\treferer = \"http://nowhereatall.example.com/\"",
  "\t\t# --- End of example file ---",
  "\n\t    When curl is invoked, it  (unless --disable is used) checks for  a",
  "\t    default config file and  uses it if  found, even when --config  is",
  "\t    used. The  default config  file is  checked for  in the  following",
  "\t    places in this order:",
  "\n\t    1) \"$CURL_HOME/.curlrc\"",
  "\n\t    2) \"$XDG_CONFIG_HOME/curlrc\" (Added in 7.73.0)",
  "\n\t    3) \"$HOME/.curlrc\"",
  "\n\t    4) Windows: \"%USERPROFILE%\\.curlrc\"",
  "\n\t    5) Windows: \"%APPDATA%\\.curlrc\"",
  "\n\t    6) Windows: \"%USERPROFILE%\\Application Data\\.curlrc\"",
  "\n\t    7) Non-Windows: use getpwuid to find the home directory",
  "\n\t    8) On  Windows,  if  it finds  no  .curlrc file  in  the  sequence",
  "\t    described above, it checks for one in the same directory  the curl",
  "\t    executable is placed.",
  "\n\t    On Windows two  filenames are  checked per  location: .curlrc  and",
  "\t    _curlrc, preferring the former. Older versions on Windows  checked",
  "\t    for _curlrc only.",
  "\n\t    --config can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --config file.txt https://example.com",
  "\n\t    See also --disable.",
  "\n    --connect-timeout <seconds>",
  "\t    Maximum time in seconds that you allow curl's connection to  take.",
  "\t    This only limits the connection phase, so if curl connects  within",
  "\t    the given period it continues - if not it exits.",
  "\n\t    This option accepts decimal values. The decimal value needs to  be",
  "\t    provided using  a dot (.)  as decimal  separator -  not the  local",
  "\t    version even if it might be using another separator.",
  "\n\t    The connection phase  is considered complete  when the DNS  lookup",
  "\t    and requested TCP, TLS or QUIC handshakes are done.",
  "\n\t    If --connect-timeout  is  provided  several times,  the  last  set",
  "\t    value is used.",
  "\n\t    Examples:",
  "\t     curl --connect-timeout 20 https://example.com",
  "\t     curl --connect-timeout 3.14 https://example.com",
  "\n\t    See also --max-time.",
  "\n    --connect-to <HOST1:PORT1:HOST2:PORT2>",
  "\t    For a  request intended  for the  \"HOST1:PORT1\" pair,  connect  to",
  "\t    \"HOST2:PORT2\" instead. This option is  only used to establish  the",
  "\t    network connection. It  does NOT affect  the hostname/port  number",
  "\t    that is used for TLS/SSL  (e.g. SNI, certificate verification)  or",
  "\t    for the application protocols.",
  "\n\t    \"HOST1\" and \"PORT1\" may be empty strings, meaning any host  or any",
  "\t    port number.  \"HOST2\"  and  \"PORT2\" may  also  be  empty  strings,",
  "\t    meaning use the request's original hostname and port number.",
  "\n\t    A hostname specified to  this option is  compared as a string,  so",
  "\t    it needs to match the name  used in request URL. It can be  either",
  "\t    numerical such  as  \"127.0.0.1\" or  the  full host  name  such  as",
  "\t    \"example.org\".",
  "\n\t    --connect-to can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --connect-to example.com:443:example.net:8443 https://example.com",
  "\n\t    See also --resolve and --header.",
  "\n    -C, --continue-at <offset>",
  "\t    Resume a previous transfer from  the given byte offset. The  given",
  "\t    offset is the  exact number  of bytes that  are skipped,  counting",
  "\t    from the beginning of the source file before it is  transferred to",
  "\t    the destination.  If used  with uploads,  the FTP  server  command",
  "\t    SIZE is not used by curl.",
  "\n\t    Use \"-C -\" to  instruct curl to  automatically find out  where/how",
  "\t    to resume the transfer. It then uses the given output/input  files",
  "\t    to figure that out.",
  "\n\t    If --continue-at is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl -C - https://example.com",
  "\t     curl -C 400 https://example.com",
  "\n\t    See also --range.",
  "\n    -c, --cookie-jar <filename>",
  "\t    (HTTP) Specify to which  file you want  curl to write all  cookies",
  "\t    after a  completed operation.  Curl writes  all cookies  from  its",
  "\t    in-memory  cookie  storage  to  the  given  file  at  the  end  of",
  "\t    operations. Even if  no cookies are  known, a  file is created  so",
  "\t    that it removes any formerly  existing cookies from the file.  The",
  "\t    file  uses the  Netscape  cookie  file  format.  If  you  set  the",
  "\t    filename to  a  single minus,  \"-\",  the cookies  are  written  to",
  "\t    stdout.",
  "\n\t    The file specified with --cookie-jar  is only used for output.  No",
  "\t    cookies are read from the file. To read cookies, use  the --cookie",
  "\t    option. Both options can specify the same file.",
  "\n\t    This command line  option activates the  cookie engine that  makes",
  "\t    curl record and  use cookies. The  --cookie option also  activates",
  "\t    it.",
  "\n\t    If the cookie jar cannot be created or written to, the  whole curl",
  "\t    operation does not  fail or  even report an  error clearly.  Using",
  "\t    --verbose gets a warning displayed,  but that is the only  visible",
  "\t    feedback you get about this possibly lethal situation.",
  "\n\t    If --cookie-jar is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl -c store-here.txt https://example.com",
  "\t     curl -c store-here.txt -b read-these https://example.com",
  "\n\t    See also --cookie.",
  "\n    -b, --cookie <data|filename>",
  "\t    (HTTP) Pass the data to the  HTTP server in the Cookie header.  It",
  "\t    is supposedly the data  previously received from  the server in  a",
  "\t    \"Set-Cookie:\"  line.   The   data   should  be   in   the   format",
  "\t    \"NAME1=VALUE1; NAME2=VALUE2\" or as a single filename.",
  "\n\t    When given a set of specific cookies and not a filename,  it makes",
  "\t    curl use the  cookie header  with this content  explicitly in  all",
  "\t    outgoing  request(s).  If  multiple  requests  are  done  due   to",
  "\t    authentication, followed redirects or  similar, they all get  this",
  "\t    cookie header passed on.",
  "\n\t    If no \"=\" symbol  is used in the  argument, it is instead  treated",
  "\t    as a filename to read  previously stored cookie from. This  option",
  "\t    also activates the cookie engine which makes curl record  incoming",
  "\t    cookies, which may be handy  if you are using this in  combination",
  "\t    with the --location  option or  do multiple URL  transfers on  the",
  "\t    same invoke.",
  "\n\t    If the filename is a  single minus (\"-\"), curl reads the  contents",
  "\t    from stdin. If  the filename is  an empty string  (\"\") and is  the",
  "\t    only cookie input,  curl activates the  cookie engine without  any",
  "\t    cookies.",
  "\n\t    The file format of the file  to read cookies from should be  plain",
  "\t    HTTP headers  (Set-Cookie style)  or the  Netscape/Mozilla  cookie",
  "\t    file format.",
  "\n\t    The file  specified  with  --cookie  is only  used  as  input.  No",
  "\t    cookies are  written  to that  file.  To store  cookies,  use  the",
  "\t    --cookie-jar option.",
  "\n\t    If you use the Set-Cookie file format and do not specify  a domain",
  "\t    then the cookie  is not sent  since the  domain never matches.  To",
  "\t    address  this,  set  a  domain  in  Set-Cookie  line  (doing  that",
  "\t    includes subdomains) or preferably: use the Netscape format.",
  "\n\t    Users often  want  to both  read cookies  from  a file  and  write",
  "\t    updated cookies  back  to  a  file, so  using  both  --cookie  and",
  "\t    --cookie-jar in the same command line is common.",
  "\n\t    If curl  is  built  with  PSL (Public  Suffix  List)  support,  it",
  "\t    detects and discards  cookies that are  specified for such  suffix",
  "\t    domains that should  not be allowed  to have  cookies. If curl  is",
  "\t    not built  with  PSL support,  it has  no  ability to  stop  super",
  "\t    cookies.",
  "\n\t    --cookie can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl -b \"\" https://example.com",
  "\t     curl -b cookiefile https://example.com",
  "\t     curl -b cookiefile -c cookiefile https://example.com",
  "\t     curl -b name=Jane https://example.com",
  "\n\t    See also --cookie-jar and --junk-session-cookies.",
  "\n    --create-dirs",
  "\t    When used in  conjunction with the  --output option, curl  creates",
  "\t    the necessary  local directory  hierarchy as  needed. This  option",
  "\t    creates  the  directories  mentioned  with  the  --output   option",
  "\t    combined with  the path  possibly set  with --output-dir.  If  the",
  "\t    combined output filename uses no directory, or if the  directories",
  "\t    it mentions already exist, no directories are created.",
  "\n\t    Created directories are  made with  mode 0750 on  unix style  file",
  "\t    systems.",
  "\n\t    To  create  remote  directories  when  using  FTP  or  SFTP,   try",
  "\t    --ftp-create-dirs.",
  "\n\t    Providing  --create-dirs  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-create-dirs.",
  "\n\t    Example:",
  "\t     curl --create-dirs --output local/dir/file https://example.com",
  "\n\t    See also --ftp-create-dirs and --output-dir.",
  "\n    --create-file-mode <mode>",
  "\t    (SFTP SCP FILE) When curl  is used to create files remotely  using",
  "\t    one of the  supported protocols,  this option allows  the user  to",
  "\t    set which 'mode' to set on  the file at creation time, instead  of",
  "\t    the default 0644.",
  "\n\t    This option takes an octal number as argument.",
  "\n\t    If --create-file-mode  is provided  several  times, the  last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --create-file-mode 0777 -T localfile sftp://example.com/new",
  "\n\t    See also --ftp-create-dirs. Added in 7.75.0.",
  "\n    --crlf",
  "\t    (FTP SMTP) Convert line feeds  to carriage return plus line  feeds",
  "\t    in upload. Useful for MVS (OS/390).",
  "\n\t    (SMTP added in 7.40.0)",
  "\n\t    Providing --crlf multiple  times has no  extra effect. Disable  it",
  "\t    again with --no-crlf.",
  "\n\t    Example:",
  "\t     curl --crlf -T file ftp://example.com/",
  "\n\t    See also --use-ascii.",
  "\n    --crlfile <file>",
  "\t    (TLS)  Provide  a  file  using  PEM  format  with  a   Certificate",
  "\t    Revocation List that may specify peer certificates that are to  be",
  "\t    considered revoked.",
  "\n\t    If --crlfile  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --crlfile rejects.txt https://example.com",
  "\n\t    See also --cacert and --capath.",
  "\n    --curves <list>",
  "\t    (TLS) Set specific curves to use during SSL session  establishment",
  "\t    according to RFC  8422, 5.1. Multiple  algorithms can be  provided",
  "\t    by separating them with  \":\" (e.g. \"X25519:P-521\"). The  parameter",
  "\t    is available identically in the OpenSSL \"s_client\" and  \"s_server\"",
  "\t    utilities.",
  "\n\t    --curves allows  a OpenSSL  powered curl  to make  SSL-connections",
  "\t    with exactly  the (EC)  curve requested  by the  client,  avoiding",
  "\t    nontransparent client/server negotiations.",
  "\n\t    If this option is set, the default curves list built  into OpenSSL",
  "\t    are ignored.",
  "\n\t    If --curves  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --curves X25519 https://example.com",
  "\n\t    See also --ciphers. Added in 7.73.0.",
  "\n    --data-ascii <data>",
  "\t    (HTTP) This option is just an alias for --data.",
  "\n\t    --data-ascii can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --data-ascii @file https://example.com",
  "\n\t    See also --data-binary, --data-raw and --data-urlencode.",
  "\n    --data-binary <data>",
  "\t    (HTTP) Post data  exactly as  specified with  no extra  processing",
  "\t    whatsoever.",
  "\n\t    If you start  the data  with the letter  @, the rest  should be  a",
  "\t    filename. Data  is posted  in  a similar  manner as  --data  does,",
  "\t    except that  newlines  and  carriage  returns  are  preserved  and",
  "\t    conversions are never done.",
  "\n\t    Like --data  the  default  content-type  sent  to  the  server  is",
  "\t    application/x-www-form-urlencoded. If  you  want the  data  to  be",
  "\t    treated as  arbitrary  binary data  by  the server  then  set  the",
  "\t    content-type     to      octet-stream:      -H      \"Content-Type:",
  "\t    application/octet-stream\".",
  "\n\t    If this  option is  used  several times,  the ones  following  the",
  "\t    first append data as described in --data.",
  "\n\t    --data-binary can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --data-binary @filename https://example.com",
  "\n\t    See also --data-ascii.",
  "\n    --data-raw <data>",
  "\t    (HTTP) Post  data  similarly to  --data  but without  the  special",
  "\t    interpretation of the @ character.",
  "\n\t    --data-raw can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl --data-raw \"hello\" https://example.com",
  "\t     curl --data-raw \"@at@at@\" https://example.com",
  "\n\t    See also --data.",
  "\n    --data-urlencode <data>",
  "\t    (HTTP) Post data,  similar to  the other --data  options with  the",
  "\t    exception that this performs URL-encoding.",
  "\n\t    To be  CGI-compliant, the  <data> part  should begin  with a  name",
  "\t    followed by a  separator and a  content specification. The  <data>",
  "\t    part can be passed to curl using one of the following syntaxes:",
  "\n\t    content",
  "\n\t\tURL-encode the content and  pass that on.  Just be careful  so",
  "\t\tthat the content does not  contain any \"=\" or \"@\" symbols,  as",
  "\t\tthat makes the syntax match one of the other cases below!",
  "\n\t    =content",
  "\n\t\tURL-encode the content  and pass  that on.  The preceding  \"=\"",
  "\t\tsymbol is not included in the data.",
  "\n\t    name=content",
  "\n\t\tURL-encode the content part  and pass that  on. Note that  the",
  "\t\tname part is expected to be URL-encoded already.",
  "\n\t    @filename",
  "\n\t\tload data  from  the  given  file  (including  any  newlines),",
  "\t\tURL-encode that data and pass it on in the POST.",
  "\n\t    name@filename",
  "\n\t\tload data  from  the  given  file  (including  any  newlines),",
  "\t\tURL-encode that  data and pass  it on  in the  POST. The  name",
  "\t\tpart   gets   an   equal    sign   appended,   resulting    in",
  "\t\tname=urlencoded-file-content. Note that  the name is  expected",
  "\t\tto be URL-encoded already.",
  "\n\t    --data-urlencode can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl --data-urlencode name=val https://example.com",
  "\t     curl --data-urlencode =encodethis https://example.com",
  "\t     curl --data-urlencode name@file https://example.com",
  "\t     curl --data-urlencode @fileonly https://example.com",
  "\n\t    See also --data and --data-raw.",
  "\n    -d, --data <data>",
  "\t    (HTTP MQTT)  Sends the specified  data in  a POST  request to  the",
  "\t    HTTP server, in the same way  that a browser does when a user  has",
  "\t    filled in an HTML form and presses the submit button.  This option",
  "\t    makes curl  pass the  data to  the server  using the  content-type",
  "\t    application/x-www-form-urlencoded. Compare to --form.",
  "\n\t    --data-raw  is almost  the  same  but  does  not  have  a  special",
  "\t    interpretation of the  @ character.  To post  data purely  binary,",
  "\t    you should  instead use  the --data-binary  option. To  URL-encode",
  "\t    the value of a form field you may use --data-urlencode.",
  "\n\t    If any  of  these options  is  used more  than  once on  the  same",
  "\t    command  line,  the  data  pieces  specified  are  merged  with  a",
  "\t    separating &-symbol. Thus, using  '-d name=daniel -d  skill=lousy'",
  "\t    would    generate    a    post     chunk    that    looks     like",
  "\t    'name=daniel&skill=lousy'.",
  "\n\t    If you start  the data  with the letter  @, the rest  should be  a",
  "\t    filename to read the data from, or - if you want curl to  read the",
  "\t    data from stdin.  Posting data  from a file  named 'foobar'  would",
  "\t    thus be  done with --data  @foobar. When  --data is  told to  read",
  "\t    from a file like that,  carriage returns, newlines and null  bytes",
  "\t    are stripped out.  If you do not  want the @  character to have  a",
  "\t    special interpretation use --data-raw instead.",
  "\n\t    The data for  this option is  passed on to  the server exactly  as",
  "\t    provided on the  command line.  curl does not  convert, change  or",
  "\t    improve it.  It is  up to  the user  to provide  the  data in  the",
  "\t    correct form.",
  "\n\t    --data can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl -d \"name=curl\" https://example.com",
  "\t     curl -d \"name=curl\" -d \"tool=cmdline\" https://example.com",
  "\t     curl -d @filename https://example.com",
  "\n\t    See also  --data-binary,  --data-urlencode  and  --data-raw.  This",
  "\t    option  is   mutually  exclusive   to   --form  and   --head   and",
  "\t    --upload-file.",
  "\n    --delegation <LEVEL>",
  "\t    (GSS/kerberos) Set LEVEL what curl is allowed to delegate when  it",
  "\t    comes to user credentials.",
  "\n\t    none",
  "\n\t\tDo not allow any delegation.",
  "\n\t    policy",
  "\n\t\tDelegates if and  only if  the OK-AS-DELEGATE flag  is set  in",
  "\t\tthe Kerberos  service  ticket,  which is  a  matter  of  realm",
  "\t\tpolicy.",
  "\n\t    always",
  "\n\t\tUnconditionally allow the server to delegate.",
  "\n\t    If --delegation is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --delegation \"none\" https://example.com",
  "\n\t    See also --insecure and --ssl.",
  "\n    --digest",
  "\t    (HTTP) Enables  HTTP  Digest authentication.  This  authentication",
  "\t    scheme avoids sending the  password over the  wire in clear  text.",
  "\t    Use this  in combination  with  the normal  --user option  to  set",
  "\t    username and password.",
  "\n\t    Providing --digest multiple times has no extra effect. Disable  it",
  "\t    again with --no-digest.",
  "\n\t    Example:",
  "\t     curl -u name:password --digest https://example.com",
  "\n\t    See also  --user, --proxy-digest  and  --anyauth. This  option  is",
  "\t    mutually exclusive to --basic and --ntlm and --negotiate.",
  "\n    --disable-eprt",
  "\t    (FTP) Disable the  use of the  EPRT and  LPRT commands when  doing",
  "\t    active FTP transfers.  Curl normally  first attempts  to use  EPRT",
  "\t    before using PORT, but with this option, it uses PORT  right away.",
  "\t    EPRT is an extension  to the original  FTP protocol, and does  not",
  "\t    work on all servers,  but enables more  functionality in a  better",
  "\t    way than the traditional PORT command.",
  "\n\t    --eprt can be used to  explicitly enable EPRT again and  --no-eprt",
  "\t    is an alias for --disable-eprt.",
  "\n\t    If the server is  accessed using IPv6,  this option has no  effect",
  "\t    as EPRT is necessary then.",
  "\n\t    Disabling EPRT only changes  the active behavior.  If you want  to",
  "\t    switch to passive mode you need to not use --ftp-port or  force it",
  "\t    with --ftp-pasv.",
  "\n\t    Providing --disable-eprt  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-disable-eprt.",
  "\n\t    Example:",
  "\t     curl --disable-eprt ftp://example.com/",
  "\n\t    See also --disable-epsv and --ftp-port.",
  "\n    --disable-epsv",
  "\t    (FTP) Disable the use of  the EPSV command when doing passive  FTP",
  "\t    transfers. Curl normally first attempts  to use EPSV before  PASV,",
  "\t    but with this option, it does not try EPSV.",
  "\n\t    --epsv can be used to  explicitly enable EPSV again and  --no-epsv",
  "\t    is an alias for --disable-epsv.",
  "\n\t    If the server is an IPv6  host, this option has no effect as  EPSV",
  "\t    is necessary then.",
  "\n\t    Disabling EPSV only changes the  passive behavior. If you want  to",
  "\t    switch to active mode you need to use --ftp-port.",
  "\n\t    Providing --disable-epsv  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-disable-epsv.",
  "\n\t    Example:",
  "\t     curl --disable-epsv ftp://example.com/",
  "\n\t    See also --disable-eprt and --ftp-port.",
  "\n    -q, --disable",
  "\t    If used as  the first parameter  on the  command line, the  curlrc",
  "\t    config file is not read or  used. See the --config for details  on",
  "\t    the default config file search path.",
  "\n\t    Prior to 7.50.0  curl supported the  short option  name q but  not",
  "\t    the long option name disable.",
  "\n\t    Providing --disable multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-disable.",
  "\n\t    Example:",
  "\t     curl -q https://example.com",
  "\n\t    See also --config.",
  "\n    --disallow-username-in-url",
  "\t    Exit with error if  passed a URL  containing a username.  Probably",
  "\t    most useful when the URL is being provided at runtime or similar.",
  "\n\t    Providing --disallow-username-in-url multiple  times has no  extra",
  "\t    effect. Disable it again with --no-disallow-username-in-url.",
  "\n\t    Example:",
  "\t     curl --disallow-username-in-url https://example.com",
  "\n\t    See also --proto. Added in 7.61.0.",
  "\n    --dns-interface <interface>",
  "\t    (DNS) Send  outgoing DNS  requests  through the  given  interface.",
  "\t    This option  is  a  counterpart to  --interface  (which  does  not",
  "\t    affect DNS). The supplied  string must be  an interface name  (not",
  "\t    an address).",
  "\n\t    If --dns-interface is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --dns-interface eth0 https://example.com",
  "\n\t    See  also  --dns-ipv4-addr  and  --dns-ipv6-addr.  --dns-interface",
  "\t    requires that the underlying libcurl was built to support c-ares.",
  "\n    --dns-ipv4-addr <address>",
  "\t    (DNS)  Bind  to  a  specific  IP  address  when  making  IPv4  DNS",
  "\t    requests, so that  the DNS requests  originate from this  address.",
  "\t    The argument should be a single IPv4 address.",
  "\n\t    If --dns-ipv4-addr is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --dns-ipv4-addr 10.1.2.3 https://example.com",
  "\n\t    See  also  --dns-interface  and  --dns-ipv6-addr.  --dns-ipv4-addr",
  "\t    requires that the underlying libcurl was built to support c-ares.",
  "\n    --dns-ipv6-addr <address>",
  "\t    (DNS)  Bind  to  a  specific  IP  address  when  making  IPv6  DNS",
  "\t    requests, so that  the DNS requests  originate from this  address.",
  "\t    The argument should be a single IPv6 address.",
  "\n\t    If --dns-ipv6-addr is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --dns-ipv6-addr 2a04:4e42::561 https://example.com",
  "\n\t    See  also  --dns-interface  and  --dns-ipv4-addr.  --dns-ipv6-addr",
  "\t    requires that the underlying libcurl was built to support c-ares.",
  "\n    --dns-servers <addresses>",
  "\t    (DNS) Set  the list  of  DNS servers  to be  used instead  of  the",
  "\t    system default. The list of IP addresses should be separated  with",
  "\t    commas. Port numbers  may also  optionally be  given, appended  to",
  "\t    the IP address separated with a colon.",
  "\n\t    If --dns-servers is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl --dns-servers 192.168.0.1,192.168.0.2 https://example.com",
  "\t     curl --dns-servers 10.0.0.1:53 https://example.com",
  "\n\t    See  also  --dns-interface   and  --dns-ipv4-addr.   --dns-servers",
  "\t    requires that the underlying libcurl was built to support c-ares.",
  "\n    --doh-cert-status",
  "\t    Same as --cert-status but used for DoH (DNS-over-HTTPS).",
  "\n\t    Verifies the status of the  DoH servers' certificate by using  the",
  "\t    Certificate Status Request (aka. OCSP stapling) TLS extension.",
  "\n\t    If this  option is enabled  and the  DoH server  sends an  invalid",
  "\t    (e.g. expired) response, if the response suggests that the  server",
  "\t    certificate has been revoked, or  no response at all is  received,",
  "\t    the verification fails.",
  "\n\t    This support  is currently  only implemented  in the  OpenSSL  and",
  "\t    GnuTLS backends.",
  "\n\t    Providing --doh-cert-status multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-doh-cert-status.",
  "\n\t    Example:",
  "\t     curl --doh-cert-status --doh-url https://doh.example https://example.com",
  "\n\t    See also --doh-insecure. Added in 7.76.0.",
  "\n    --doh-insecure",
  "\t    Same as --insecure but used for DoH (DNS-over-HTTPS).",
  "\n\t    Providing --doh-insecure  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-doh-insecure.",
  "\n\t    Example:",
  "\t     curl --doh-insecure --doh-url https://doh.example https://example.com",
  "\n\t    See also --doh-url. Added in 7.76.0.",
  "\n    --doh-url <URL>",
  "\t    Specifies which  DNS-over-HTTPS (DoH)  server  to use  to  resolve",
  "\t    hostnames, instead of using  the default name resolver  mechanism.",
  "\t    The URL must be HTTPS.",
  "\n\t    Some SSL options that  you set for  your transfer also applies  to",
  "\t    DoH since  the name  lookups  take place  over SSL.  However,  the",
  "\t    certificate  verification  settings  are  not  inherited  but  are",
  "\t    controlled separately via --doh-insecure and --doh-cert-status.",
  "\n\t    This option is  unset if an empty  string \"\" is  used as the  URL.",
  "\t    (Added in 7.85.0)",
  "\n\t    If --doh-url  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --doh-url https://doh.example https://example.com",
  "\n\t    See also --doh-insecure. Added in 7.62.0.",
  "\n    -D, --dump-header <filename>",
  "\t    (HTTP FTP) Write  the received protocol  headers to the  specified",
  "\t    file. If no headers are  received, the use of this option  creates",
  "\t    an empty file.",
  "\n\t    When used in  FTP, the  FTP server response  lines are  considered",
  "\t    being \"headers\" and thus are saved there.",
  "\n\t    Having multiple transfers in one set of operations (i.e. the  URLs",
  "\t    in one --next clause),  appends them to  the same file,  separated",
  "\t    by a blank line.",
  "\n\t    If --dump-header is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --dump-header store.txt https://example.com",
  "\n\t    See also --output.",
  "\n    --egd-file <file>",
  "\t    (TLS) Deprecated option (added in  7.84.0). Prior to that it  only",
  "\t    had an effect on curl if built to use old versions of OpenSSL.",
  "\n\t    Specify the path name to the Entropy Gathering Daemon socket.  The",
  "\t    socket is used to seed the random engine for SSL connections.",
  "\n\t    If --egd-file is  provided several  times, the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --egd-file /random/here https://example.com",
  "\n\t    See also --random-file.",
  "\n    --engine <name>",
  "\t    (TLS)  Select  the  OpenSSL  crypto  engine  to  use  for   cipher",
  "\t    operations. Use  --engine  list  to print  a  list  of  build-time",
  "\t    supported engines. Note that  not all (and  possibly none) of  the",
  "\t    engines may be available at runtime.",
  "\n\t    If --engine  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --engine flavor https://example.com",
  "\n\t    See also --ciphers and --curves.",
  "\n    --etag-compare <file>",
  "\t    (HTTP) Make a conditional HTTP request for the specific ETag  read",
  "\t    from the  given  file by  sending  a custom  If-None-Match  header",
  "\t    using the stored ETag.",
  "\n\t    For correct results,  make sure that  the specified file  contains",
  "\t    only a single line with the desired ETag. An empty file  is parsed",
  "\t    as an empty ETag.",
  "\n\t    Use  the  option  --etag-save  to  first  save  the  ETag  from  a",
  "\t    response, and then use  this option to  compare against the  saved",
  "\t    ETag in a subsequent request.",
  "\n\t    If --etag-compare is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --etag-compare etag.txt https://example.com",
  "\n\t    See also --etag-save and --time-cond. Added in 7.68.0.",
  "\n    --etag-save <file>",
  "\t    (HTTP) Save  an HTTP  ETag to  the specified  file. An  ETag is  a",
  "\t    caching related header, usually returned in a response.",
  "\n\t    If no ETag is sent by the server, an empty file is created.",
  "\n\t    If --etag-save is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --etag-save storetag.txt https://example.com",
  "\n\t    See also --etag-compare. Added in 7.68.0.",
  "\n    --expect100-timeout <seconds>",
  "\t    (HTTP) Maximum time in seconds that  you allow curl to wait for  a",
  "\t    100-continue response  when curl  emits an  Expects:  100-continue",
  "\t    header in  its request.  By default  curl waits  one second.  This",
  "\t    option  accepts  decimal  values.  When  curl  stops  waiting,  it",
  "\t    continues as if a response was received.",
  "\n\t    The decimal value needs to  provided using a dot (\".\") as  decimal",
  "\t    separator -  not  the local  version even  if  it might  be  using",
  "\t    another separator.",
  "\n\t    If --expect100-timeout  is provided  several times,  the last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --expect100-timeout 2.5 -T file https://example.com",
  "\n\t    See also --connect-timeout.",
  "\n    --fail-early",
  "\t    Fail and exit on the first detected transfer error.",
  "\n\t    When curl is used  to do multiple  transfers on the command  line,",
  "\t    it attempts to operate on each given URL, one by one.  By default,",
  "\t    it ignores errors if there are more URLs given and the  last URL's",
  "\t    success determines  the error  code curl  returns. Early  failures",
  "\t    are \"hidden\" by subsequent successful transfers.",
  "\n\t    Using this  option, curl  instead returns  an error  on the  first",
  "\t    transfer that fails, independent  of the amount  of URLs that  are",
  "\t    given on  the command  line.  This way,  no transfer  failures  go",
  "\t    undetected by scripts and similar.",
  "\n\t    This option does not imply --fail, which causes transfers to  fail",
  "\t    due to  the server's HTTP  status code.  You can  combine the  two",
  "\t    options, however  note  --fail  is not  global  and  is  therefore",
  "\t    contained by --next.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing  --fail-early  multiple  times  has  no  extra   effect.",
  "\t    Disable it again with --no-fail-early.",
  "\n\t    Example:",
  "\t     curl --fail-early https://example.com https://two.example",
  "\n\t    See also --fail and --fail-with-body. Added in 7.52.0.",
  "\n    --fail-with-body",
  "\t    (HTTP) Return an error  on server errors  where the HTTP  response",
  "\t    code is  400 or  greater). In  normal cases  when  an HTTP  server",
  "\t    fails to deliver a document,  it returns an HTML document  stating",
  "\t    so (which often also describes  why and more). This option  allows",
  "\t    curl to output and save that content but also to return error 22.",
  "\n\t    This is an alternative option to --fail which makes curl  fail for",
  "\t    the same circumstances but without saving the content.",
  "\n\t    Providing --fail-with-body  multiple times  has no  extra  effect.",
  "\t    Disable it again with --no-fail-with-body.",
  "\n\t    Example:",
  "\t     curl --fail-with-body https://example.com",
  "\n\t    See  also  --fail  and  --fail-early.  This  option  is   mutually",
  "\t    exclusive to --fail. Added in 7.76.0.",
  "\n    -f, --fail",
  "\t    (HTTP) Fail fast with no output  at all on server errors. This  is",
  "\t    useful to  enable scripts  and users  to better  deal with  failed",
  "\t    attempts. In normal cases when  an HTTP server fails to deliver  a",
  "\t    document, it  returns an  HTML document  stating so  (which  often",
  "\t    also describes why  and more). This  command line option  prevents",
  "\t    curl from outputting that and return error 22.",
  "\n\t    This method  is  not  fail-safe  and  there  are  occasions  where",
  "\t    non-successful  response  codes  slip  through,  especially   when",
  "\t    authentication is involved (response codes 401 and 407).",
  "\n\t    Providing --fail multiple  times has no  extra effect. Disable  it",
  "\t    again with --no-fail.",
  "\n\t    Example:",
  "\t     curl --fail https://example.com",
  "\n\t    See  also  --fail-with-body  and  --fail-early.  This  option   is",
  "\t    mutually exclusive to --fail-with-body.",
  "\n    --false-start",
  "\t    (TLS) Use false start during  the TLS handshake. False start is  a",
  "\t    mode where a  TLS client  starts sending  application data  before",
  "\t    verifying the server's Finished message, thus saving a round  trip",
  "\t    when performing a full handshake.",
  "\n\t    This functionality  is currently  only implemented  in the  Secure",
  "\t    Transport (on iOS 7.0 or later, or OS X 10.9 or later) backend.",
  "\n\t    Providing  --false-start  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-false-start.",
  "\n\t    Example:",
  "\t     curl --false-start https://example.com",
  "\n\t    See also --tcp-fastopen.",
  "\n    --form-escape",
  "\t    (HTTP) Pass  on names  of multipart  form fields  and files  using",
  "\t    backslash-escaping instead of percent-encoding.",
  "\n\t    If --form-escape is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --form-escape -F 'field\\name=curl' -F 'file=@load\"this' https://example.com",
  "\n\t    See also --form. Added in 7.81.0.",
  "\n    --form-string <name=string>",
  "\t    (HTTP SMTP IMAP) Similar  to --form except  that the value  string",
  "\t    for the  named  parameter  is  used literally.  Leading  @  and  <",
  "\t    characters, and the \";type=\" string  in the value have no  special",
  "\t    meaning.  Use this  in  preference  to  --form  if  there  is  any",
  "\t    possibility that the string value  may accidentally trigger the  @",
  "\t    or < features of --form.",
  "\n\t    --form-string can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --form-string \"name=data\" https://example.com",
  "\n\t    See also --form.",
  "\n    -F, --form <name=content>",
  "\t    (HTTP  SMTP  IMAP)  For  the  HTTP  protocol  family,  emulate   a",
  "\t    filled-in form  in which  a user  has pressed  the submit  button.",
  "\t    This   makes    curl   POST    data   using    the    Content-Type",
  "\t    multipart/form-data according to RFC 2388.",
  "\n\t    For SMTP  and  IMAP  protocols, this  composes  a  multipart  mail",
  "\t    message to transmit.",
  "\n\t    This  enables  uploading  of  binary  files  etc.  To  force   the",
  "\t    'content' part to be a file,  prefix the filename with an @  sign.",
  "\t    To just  get the content  part from  a file,  prefix the  filename",
  "\t    with the symbol <. The difference  between @ and < is then that  @",
  "\t    makes a file get attached in the post as a file upload,  while the",
  "\t    < makes  a text  field and  just get  the contents  for that  text",
  "\t    field from a file.",
  "\n\t    Read content from stdin  instead of a file  by using a single  \"-\"",
  "\t    as filename. This goes for both @ and < constructs. When  stdin is",
  "\t    used,  the contents  is  buffered  in  memory  first  by  curl  to",
  "\t    determine its size and allow a possible resend. Defining a  part's",
  "\t    data from  a  named non-regular  file (such  as  a named  pipe  or",
  "\t    similar) is  not  subject to  buffering  and is  instead  read  at",
  "\t    transmission time;  since  the full  size  is unknown  before  the",
  "\t    transfer starts, such data is sent as chunks by HTTP  and rejected",
  "\t    by IMAP.",
  "\n\t    Example: send an image to  an HTTP server, where 'profile' is  the",
  "\t    name of  the form-field  to  which the  file portrait.jpg  is  the",
  "\t    input:",
  "\n\t\tcurl -F profile=@portrait.jpg https://example.com/upload.cgi",
  "\n\t    Example: send your name  and shoe size in  two text fields to  the",
  "\t    server:",
  "\n\t\tcurl -F name=John -F shoesize=11 https://example.com/",
  "\n\t    Example: send your essay  in a text field  to the server. Send  it",
  "\t    as a plain text  field, but get the contents  for it from a  local",
  "\t    file:",
  "\n\t\tcurl -F \"story=<hugefile.txt\" https://example.com/",
  "\n\t    You can  also instruct  curl  what Content-Type  to use  by  using",
  "\t    \"type=\", in a manner similar to:",
  "\n\t\tcurl -F \"web=@index.html;type=text/html\" example.com",
  "\n\t    or",
  "\n\t\tcurl -F \"name=daniel;type=text/foo\" example.com",
  "\n\t    You can also  explicitly change the  name field  of a file  upload",
  "\t    part by setting filename=, like this:",
  "\n\t\tcurl -F \"file=@localfile;filename=nameinpost\" example.com",
  "\n\t    If filename/path  contains  ','  or  ';', it  must  be  quoted  by",
  "\t    double-quotes like:",
  "\n\t\tcurl -F \"file=@\\\"local,file\\\";filename=\\\"name;in;post\\\"\" example.com",
  "\n\t    or",
  "\n\t\tcurl -F 'file=@\"local,file\";filename=\"name;in;post\"' example.com",
  "\n\t    Note that  if  a filename/path  is  quoted by  double-quotes,  any",
  "\t    double-quote or backslash within the  filename must be escaped  by",
  "\t    backslash.",
  "\n\t    Quoting must  also be  applied  to non-file  data if  it  contains",
  "\t    semicolons, leading/trailing spaces or leading double quotes:",
  "\n\t\tcurl -F 'colors=\"red; green; blue\";type=text/x-myapp' example.com",
  "\n\t    You can add custom headers to the field by setting headers=, like",
  "\n\t\tcurl -F \"submit=OK;headers=\\\"X-submit-type: OK\\\"\" example.com",
  "\n\t    or",
  "\n\t\tcurl -F \"submit=OK;headers=@headerfile\" example.com",
  "\n\t    The headers= keyword  may appear  more that once  and above  notes",
  "\t    about quoting  apply. When  headers are  read from  a file,  Empty",
  "\t    lines and lines starting with  '#' are comments and ignored;  each",
  "\t    header can be folded by  splitting between two words and  starting",
  "\t    the continuation line with a space; embedded carriage-returns  and",
  "\t    trailing spaces are stripped. Here is an example of a  header file",
  "\t    contents:",
  "\n\t\t# This file contain two headers.",
  "\t\tX-header-1: this is a header",
  "\n\t\t# The following header is folded.",
  "\t\tX-header-2: this is",
  "\t\t another header",
  "\n\t    To  support  sending  multipart  mail  messages,  the  syntax   is",
  "\t    extended as follows:",
  "\n\t    - name can be  omitted: the equal sign  is the first character  of",
  "\t    the argument,",
  "\n\t    - if data starts with '(', this signals to start a  new multipart:",
  "\t    it can be followed by a content type specification.",
  "\n\t    - a multipart can be terminated with a '=)' argument.",
  "\n\t    Example:  the  following   command  sends  an   SMTP  mime   email",
  "\t    consisting in an  inline part  in two  alternative formats:  plain",
  "\t    text and HTML. It attaches a text file:",
  "\n\t\tcurl -F '=(;type=multipart/alternative' \\",
  "\t\t     -F '=plain text message' \\",
  "\t\t     -F '= <body>HTML message</body>;type=text/html' \\",
  "\t\t     -F '=)' -F '=@textfile.txt' ...  smtp://example.com",
  "\n\t    Data  can  be  encoded  for  transfer  using  encoder=.  Available",
  "\t    encodings are binary  and 8bit  that do nothing  else than  adding",
  "\t    the  corresponding  Content-Transfer-Encoding  header,  7bit  that",
  "\t    only   rejects   8-bit   characters   with   a   transfer   error,",
  "\t    quoted-printable and  base64 that  encodes data  according to  the",
  "\t    corresponding schemes, limiting lines length to 76 characters.",
  "\n\t    Example: send multipart mail with a quoted-printable text  message",
  "\t    and a base64 attached file:",
  "\n\t\tcurl -F '=text message;encoder=quoted-printable' \\",
  "\t\t     -F '=@localfile;encoder=base64' ... smtp://example.com",
  "\n\t    See further examples and details in the MANUAL.",
  "\n\t    --form can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --form \"name=curl\" --form \"file=@loadthis\" https://example.com",
  "\n\t    See also --data, --form-string  and --form-escape. This option  is",
  "\t    mutually exclusive to --data and --head and --upload-file.",
  "\n    --ftp-account <data>",
  "\t    (FTP) When an FTP  server asks for  \"account data\" after  username",
  "\t    and password has been  provided, this data  is sent off using  the",
  "\t    ACCT command.",
  "\n\t    If --ftp-account is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --ftp-account \"mr.robot\" ftp://example.com/",
  "\n\t    See also --user.",
  "\n    --ftp-alternative-to-user <command>",
  "\t    (FTP) If authenticating  with the  USER and  PASS commands  fails,",
  "\t    send  this  command.  When   connecting  to  Tumbleweed's   Secure",
  "\t    Transport server  over  FTPS  using a  client  certificate,  using",
  "\t    \"SITE AUTH\" tells  the server  to retrieve the  username from  the",
  "\t    certificate.",
  "\n\t    If --ftp-alternative-to-user is provided  several times, the  last",
  "\t    set value is used.",
  "\n\t    Example:",
  "\t     curl --ftp-alternative-to-user \"U53r\" ftp://example.com",
  "\n\t    See also --ftp-account and --user.",
  "\n    --ftp-create-dirs",
  "\t    (FTP SFTP)  When an FTP  or SFTP  URL/operation uses  a path  that",
  "\t    does not currently exist on  the server, the standard behavior  of",
  "\t    curl is  to fail.  Using  this option,  curl instead  attempts  to",
  "\t    create missing directories.",
  "\n\t    Providing --ftp-create-dirs multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-ftp-create-dirs.",
  "\n\t    Example:",
  "\t     curl --ftp-create-dirs -T file ftp://example.com/remote/path/file",
  "\n\t    See also --create-dirs.",
  "\n    --ftp-method <method>",
  "\t    (FTP) Control what method  curl should use to  reach a file on  an",
  "\t    FTP(S) server. The method argument should be one of the  following",
  "\t    alternatives:",
  "\n\t    multicwd",
  "\n\t\tDo a  single CWD operation  for each  path part  in the  given",
  "\t\tURL. For deep  hierarchies this means  many commands. This  is",
  "\t\thow RFC 1738 says it should  be done. This is the default  but",
  "\t\tthe slowest behavior.",
  "\n\t    nocwd",
  "\n\t\tDo no CWD  at all. curl  does SIZE, RETR,  STOR etc and  gives",
  "\t\tthe full path to the  server for each of these commands.  This",
  "\t\tis the fastest behavior.",
  "\n\t    singlecwd",
  "\n\t\tDo one CWD with the full target directory and then  operate on",
  "\t\tthe file  \"normally\"  (like in  the  multicwd case).  This  is",
  "\t\tsomewhat more  standards compliant  than \"nocwd\"  but  without",
  "\t\tthe full penalty of \"multicwd\".",
  "\n\t    If --ftp-method is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl --ftp-method multicwd ftp://example.com/dir1/dir2/file",
  "\t     curl --ftp-method nocwd ftp://example.com/dir1/dir2/file",
  "\t     curl --ftp-method singlecwd ftp://example.com/dir1/dir2/file",
  "\n\t    See also --list-only.",
  "\n    --ftp-pasv",
  "\t    (FTP) Use passive  mode for  the data connection.  Passive is  the",
  "\t    internal default behavior, but  using this option  can be used  to",
  "\t    override a previous --ftp-port option.",
  "\n\t    Reversing an enforced passive  really is not  doable but you  must",
  "\t    then instead enforce the correct --ftp-port again.",
  "\n\t    Passive mode  means that  curl tries  the EPSV  command first  and",
  "\t    then PASV, unless --disable-epsv is used.",
  "\n\t    Providing --ftp-pasv multiple times  has no extra effect.  Disable",
  "\t    it again with --no-ftp-pasv.",
  "\n\t    Example:",
  "\t     curl --ftp-pasv ftp://example.com/",
  "\n\t    See also --disable-epsv.",
  "\n    -P, --ftp-port <address>",
  "\t    (FTP)  Reverses   the   default  initiator/listener   roles   when",
  "\t    connecting with FTP. This option makes curl use active mode.  curl",
  "\t    then  commands  the  server  to  connect  back  to  the   client's",
  "\t    specified address and port, while passive mode asks the server  to",
  "\t    setup an  IP address  and port  for it  to  connect to.  <address>",
  "\t    should be one of:",
  "\n\t    interface",
  "\n\t\te.g. eth0 to specify which interface's IP address you want  to",
  "\t\tuse (Unix only)",
  "\n\t    IP address",
  "\n\t\te.g. 192.168.10.1 to specify the exact IP address",
  "\n\t    hostname",
  "\n\t\te.g. my.host.domain to specify the machine",
  "\n\t    -",
  "\n\t\tmake curl pick the  same IP address  that is already used  for",
  "\t\tthe control connection. This is the recommended choice.",
  "\n\t.RE .IP",
  "\n\t\tDisable the use of PORT  with --ftp-pasv. Disable the  attempt",
  "\t\tto  use   the  EPRT   command  instead   of  PORT   by   using",
  "\t\t--disable-eprt. EPRT is really PORT++.",
  "\n\t\tYou can  also  append \":[start]-[end]\"  to  the right  of  the",
  "\t\taddress, to tell curl what  TCP port range to use. That  means",
  "\t\tyou specify a port range, from  a lower to a higher number.  A",
  "\t\tsingle number works  as well,  but do note  that it  increases",
  "\t\tthe risk of failure since the port may not be available.",
  "\n\t    If --ftp-port is  provided several  times, the last  set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl -P - ftp:/example.com",
  "\t     curl -P eth0 ftp:/example.com",
  "\t     curl -P 192.168.0.2 ftp:/example.com",
  "\n\t    See also --ftp-pasv and --disable-eprt.",
  "\n    --ftp-pret",
  "\t    (FTP) Send  a PRET  command before  PASV (and  EPSV). Certain  FTP",
  "\t    servers, mainly  drftpd,  require this  non-standard  command  for",
  "\t    directory listings as well as up and downloads in PASV mode.",
  "\n\t    Providing --ftp-pret multiple times  has no extra effect.  Disable",
  "\t    it again with --no-ftp-pret.",
  "\n\t    Example:",
  "\t     curl --ftp-pret ftp://example.com/",
  "\n\t    See also --ftp-port and --ftp-pasv.",
  "\n    --ftp-skip-pasv-ip",
  "\t    (FTP) Do  not  use  the IP  address  the server  suggests  in  its",
  "\t    response to  curl's  PASV  command when  curl  connects  the  data",
  "\t    connection. Instead curl  reuses the  same IP  address it  already",
  "\t    uses for the control connection.",
  "\n\t    This option is enabled by default (added in 7.74.0).",
  "\n\t    This option has no  effect if PORT, EPRT  or EPSV is used  instead",
  "\t    of PASV.",
  "\n\t    Providing --ftp-skip-pasv-ip multiple times  has no extra  effect.",
  "\t    Disable it again with --no-ftp-skip-pasv-ip.",
  "\n\t    Example:",
  "\t     curl --ftp-skip-pasv-ip ftp://example.com/",
  "\n\t    See also --ftp-pasv.",
  "\n    --ftp-ssl-ccc-mode <active/passive>",
  "\t    (FTP) Sets the CCC  mode. The passive  mode does not initiate  the",
  "\t    shutdown, but instead waits for the server to do it, and  does not",
  "\t    reply to the shutdown from  the server. The active mode  initiates",
  "\t    the shutdown and waits for a reply from the server.",
  "\n\t    Providing --ftp-ssl-ccc-mode multiple times  has no extra  effect.",
  "\t    Disable it again with --no-ftp-ssl-ccc-mode.",
  "\n\t    Example:",
  "\t     curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/",
  "\n\t    See also --ftp-ssl-ccc.",
  "\n    --ftp-ssl-ccc",
  "\t    (FTP) Use  CCC  (Clear Command  Channel)  Shuts down  the  SSL/TLS",
  "\t    layer after  authenticating.  The  rest  of  the  control  channel",
  "\t    communication is  be  unencrypted.  This  allows  NAT  routers  to",
  "\t    follow the FTP transaction. The default mode is passive.",
  "\n\t    Providing  --ftp-ssl-ccc  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-ftp-ssl-ccc.",
  "\n\t    Example:",
  "\t     curl --ftp-ssl-ccc ftps://example.com/",
  "\n\t    See also --ssl and --ftp-ssl-ccc-mode.",
  "\n    --ftp-ssl-control",
  "\t    (FTP) Require  SSL/TLS  for the  FTP  login, clear  for  transfer.",
  "\t    Allows secure  authentication,  but non-encrypted  data  transfers",
  "\t    for efficiency. Fails the transfer if the server does not  support",
  "\t    SSL/TLS.",
  "\n\t    Providing --ftp-ssl-control multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-ftp-ssl-control.",
  "\n\t    Example:",
  "\t     curl --ftp-ssl-control ftp://example.com",
  "\n\t    See also --ssl.",
  "\n    -G, --get",
  "\t    (HTTP) When  used,  this  option makes  all  data  specified  with",
  "\t    --data, --data-binary or  --data-urlencode to be  used in an  HTTP",
  "\t    GET request instead of  the POST request  that otherwise would  be",
  "\t    used. The data is appended to the URL with a '?' separator.",
  "\n\t    If used  in combination  with  --head, the  POST data  is  instead",
  "\t    appended to the URL with a HEAD request.",
  "\n\t    Providing --get multiple  times has  no extra  effect. Disable  it",
  "\t    again with --no-get.",
  "\n\t    Examples:",
  "\t     curl --get https://example.com",
  "\t     curl --get -d \"tool=curl\" -d \"age=old\" https://example.com",
  "\t     curl --get -I -d \"tool=curl\" https://example.com",
  "\n\t    See also --data and --request.",
  "\n    -g, --globoff",
  "\t    Switch off the URL  globbing function. When  you set this  option,",
  "\t    you can specify URLs that contain the letters {}[] without  having",
  "\t    curl itself  interpret  them.  Note that  these  letters  are  not",
  "\t    normal legal URL contents but they should be encoded according  to",
  "\t    the URI standard.",
  "\n\t    Providing --globoff multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-globoff.",
  "\n\t    Example:",
  "\t     curl -g \"https://example.com/{[]}}}}\"",
  "\n\t    See also --config and --disable.",
  "\n    --happy-eyeballs-timeout-ms <ms>",
  "\t    Happy Eyeballs is an  algorithm that attempts  to connect to  both",
  "\t    IPv4 and  IPv6  addresses  for dual-stack  hosts,  giving  IPv6  a",
  "\t    head-start of the  specified number of  milliseconds. If the  IPv6",
  "\t    address  cannot  be  connected  to   within  that  time,  then   a",
  "\t    connection attempt is made  to the IPv4  address in parallel.  The",
  "\t    first connection to be established is the one that is used.",
  "\n\t    The range of  suggested useful values  is limited. Happy  Eyeballs",
  "\t    RFC 6555  says  \"It is  RECOMMENDED  that connection  attempts  be",
  "\t    paced 150-250 ms  apart to balance  human factors against  network",
  "\t    load.\" libcurl currently  defaults to 200  ms. Firefox and  Chrome",
  "\t    currently default to 300 ms.",
  "\n\t    If --happy-eyeballs-timeout-ms  is  provided  several  times,  the",
  "\t    last set value is used.",
  "\n\t    Example:",
  "\t     curl --happy-eyeballs-timeout-ms 500 https://example.com",
  "\n\t    See also --max-time and --connect-timeout. Added in 7.59.0.",
  "\n    --haproxy-clientip <ip>",
  "\t    (HTTP) Sets a  client IP in  HAProxy PROXY  protocol v1 header  at",
  "\t    the beginning of the connection.",
  "\n\t    For valid requests, IPv4 addresses  must be indicated as a  series",
  "\t    of exactly 4 integers in  the range [0..255] inclusive written  in",
  "\t    decimal representation separated by  exactly one dot between  each",
  "\t    other. Heading zeroes  are not  permitted in front  of numbers  in",
  "\t    order to avoid  any possible  confusion with  octal numbers.  IPv6",
  "\t    addresses must  be indicated  as series  of 4  hexadecimal  digits",
  "\t    (upper or  lower case)  delimited by  colons between  each  other,",
  "\t    with the acceptance of  one double colon  sequence to replace  the",
  "\t    largest acceptable range of  consecutive zeroes. The total  number",
  "\t    of decoded bits must exactly be 128.",
  "\n\t    Otherwise, any string can  be accepted for  the client IP and  get",
  "\t    sent.",
  "\n\t    It replaces --haproxy-protocol  if used,  it is  not necessary  to",
  "\t    specify both flags.",
  "\n\t    If --haproxy-clientip  is provided  several  times, the  last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --haproxy-clientip $IP",
  "\n\t    See also --proxy. Added in 8.2.0.",
  "\n    --haproxy-protocol",
  "\t    (HTTP) Send a HAProxy  PROXY protocol v1  header at the  beginning",
  "\t    of the  connection.  This  is  used by  some  load  balancers  and",
  "\t    reverse proxies  to  indicate the  client's  true IP  address  and",
  "\t    port.",
  "\n\t    This option is primarily  useful when sending  test requests to  a",
  "\t    service that expects this header.",
  "\n\t    Providing --haproxy-protocol multiple times  has no extra  effect.",
  "\t    Disable it again with --no-haproxy-protocol.",
  "\n\t    Example:",
  "\t     curl --haproxy-protocol https://example.com",
  "\n\t    See also --proxy. Added in 7.60.0.",
  "\n    -I, --head",
  "\t    (HTTP FTP FILE) Fetch the  headers only! HTTP-servers feature  the",
  "\t    command HEAD which this  uses to get nothing  but the header of  a",
  "\t    document. When  used on an  FTP or  FILE file,  curl displays  the",
  "\t    file size and last modification time only.",
  "\n\t    Providing --head multiple  times has no  extra effect. Disable  it",
  "\t    again with --no-head.",
  "\n\t    Example:",
  "\t     curl -I https://example.com",
  "\n\t    See also --get, --verbose and --trace-ascii.",
  "\n    -H, --header <header/@file>",
  "\t    (HTTP IMAP  SMTP) Extra  header to  include in  information  sent.",
  "\t    When used  within an  HTTP request,  it is  added  to the  regular",
  "\t    request headers.",
  "\n\t    For an IMAP or SMTP MIME uploaded mail built with  --form options,",
  "\t    it is  prepended  to  the  resulting  MIME  document,  effectively",
  "\t    including it  at the mail  global level.  It does  not affect  raw",
  "\t    uploaded mails (Added in 7.56.0).",
  "\n\t    You may  specify any number  of extra  headers. Note  that if  you",
  "\t    should add a custom  header that has the same  name as one of  the",
  "\t    internal ones curl would use,  your externally set header is  used",
  "\t    instead  of the  internal  one.  This  allows  you  to  make  even",
  "\t    trickier stuff  than  curl  would  normally  do.  You  should  not",
  "\t    replace internally  set  headers without  knowing  perfectly  well",
  "\t    what  you are  doing.  Remove  an  internal  header  by  giving  a",
  "\t    replacement without content  on the  right side of  the colon,  as",
  "\t    in: -H \"Host:\". If you  send the custom header with no-value  then",
  "\t    its header  must  be  terminated  with a  semicolon,  such  as  -H",
  "\t    \"X-Custom-Header;\" to send \"X-Custom-Header:\".",
  "\n\t    curl makes sure that each header you add/replace is sent  with the",
  "\t    proper end-of-line marker, you should thus not add that as  a part",
  "\t    of the header content:  do not add  newlines or carriage  returns,",
  "\t    they only  mess things up  for you.  curl passes  on the  verbatim",
  "\t    string you give it without  any filter or other safe guards.  That",
  "\t    includes white space and control characters.",
  "\n\t    This option can take  an argument in  @filename style, which  then",
  "\t    adds a header  for each  line in  the input file.  Using @-  makes",
  "\t    curl read the header file from stdin. Added in 7.55.0.",
  "\n\t    Please note that most anti-spam  utilities check the presence  and",
  "\t    value of  several MIME  mail headers:  these are  \"From:\",  \"To:\",",
  "\t    \"Date:\" and \"Subject:\" among others and should be added with  this",
  "\t    option.",
  "\n\t    You need --proxy-header  to send  custom headers  intended for  an",
  "\t    HTTP proxy. Added in 7.37.0.",
  "\n\t    Passing on  a \"Transfer-Encoding:  chunked\" header  when doing  an",
  "\t    HTTP request with a request  body, makes curl send the data  using",
  "\t    chunked encoding.",
  "\n\t    WARNING:  headers set  with  this  option  are  set  in  all  HTTP",
  "\t    requests - even after redirects are followed, like when told  with",
  "\t    --location. This can lead to the header being sent to  other hosts",
  "\t    than the original host, so  sensitive headers should be used  with",
  "\t    caution combined with following redirects.",
  "\n\t    --header can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl -H \"X-First-Name: Joe\" https://example.com",
  "\t     curl -H \"User-Agent: yes-please/2000\" https://example.com",
  "\t     curl -H \"Host:\" https://example.com",
  "\t     curl -H @headers.txt https://example.com",
  "\n\t    See also --user-agent and --referer.",
  "\n    -h, --help <category>",
  "\t    Usage help. List all  curl command line  options within the  given",
  "\t    category.",
  "\n\t    If no  argument  is provided,  curl  displays the  most  important",
  "\t    command line arguments.",
  "\n\t    For category all, curl displays help for all options.",
  "\n\t    If  category  is  specified,  curl  displays  all  available  help",
  "\t    categories.",
  "\n\t    Example:",
  "\t     curl --help all",
  "\n\t    See also --verbose.",
  "\n    --hostpubmd5 <md5>",
  "\t    (SFTP SCP) Pass  a string  containing 32  hexadecimal digits.  The",
  "\t    string should be  the 128 bit  MD5 checksum  of the remote  host's",
  "\t    public key, curl refuses the  connection with the host unless  the",
  "\t    checksums match.",
  "\n\t    If --hostpubmd5 is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/",
  "\n\t    See also --hostpubsha256.",
  "\n    --hostpubsha256 <sha256>",
  "\t    (SFTP SCP) Pass a string  containing a Base64-encoded SHA256  hash",
  "\t    of the remote host's public key. Curl refuses the connection  with",
  "\t    the host unless the hashes match.",
  "\n\t    This feature requires libcurl  to be built  with libssh2 and  does",
  "\t    not work with other SSH backends.",
  "\n\t    If --hostpubsha256 is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/",
  "\n\t    See also --hostpubmd5. Added in 7.80.0.",
  "\n    --hsts <filename>",
  "\t    (HTTPS) Enable HSTS for  the transfer. If  the filename points  to",
  "\t    an existing  HSTS cache  file,  that is  used. After  a  completed",
  "\t    transfer, the cache is saved to the filename again if it  has been",
  "\t    modified.",
  "\n\t    If curl  is  told  to  use  HTTP:// for  a  transfer  involving  a",
  "\t    hostname that exists in the  HSTS cache, it upgrades the  transfer",
  "\t    to use HTTPS. Each  HSTS cache entry  has an individual life  time",
  "\t    after which the upgrade is no longer performed.",
  "\n\t    Specify a \"\"  filename (zero length)  to avoid loading/saving  and",
  "\t    make curl just handle HSTS in memory.",
  "\n\t    If this option  is used  several times, curl  loads contents  from",
  "\t    all the files but the last one is used for saving.",
  "\n\t    --hsts can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --hsts cache.txt https://example.com",
  "\n\t    See also --proto. Added in 7.74.0.",
  "\n    --http0.9",
  "\t    (HTTP) Accept an HTTP version 0.9 response.",
  "\n\t    HTTP/0.9 is a response without headers and therefore you can  also",
  "\t    connect with this  to non-HTTP  servers and still  get a  response",
  "\t    since curl simply transparently downgrades - if allowed.",
  "\n\t    HTTP/0.9 is disabled by default (added in 7.66.0)",
  "\n\t    Providing --http0.9 multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-http0.9.",
  "\n\t    Example:",
  "\t     curl --http0.9 https://example.com",
  "\n\t    See also --http1.1, --http2 and --http3. Added in 7.64.0.",
  "\n    -0, --http1.0",
  "\t    (HTTP) Use  HTTP  version  1.0 instead  of  using  its  internally",
  "\t    preferred HTTP version.",
  "\n\t    Providing --http1.0 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --http1.0 https://example.com",
  "\n\t    See  also  --http0.9  and  --http1.1.  This  option  is   mutually",
  "\t    exclusive to  --http1.1  and --http2  and  --http2-prior-knowledge",
  "\t    and --http3.",
  "\n    --http1.1",
  "\t    (HTTP) Use  HTTP version  1.1. This  is the  default with  HTTP://",
  "\t    URLs.",
  "\n\t    Providing --http1.1 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --http1.1 https://example.com",
  "\n\t    See  also  --http1.0  and  --http0.9.  This  option  is   mutually",
  "\t    exclusive to  --http1.0  and --http2  and  --http2-prior-knowledge",
  "\t    and --http3.",
  "\n    --http2-prior-knowledge",
  "\t    (HTTP)  Issue  a  non-TLS  HTTP  requests  using  HTTP/2  directly",
  "\t    without HTTP/1.1  Upgrade. It  requires prior  knowledge that  the",
  "\t    server supports  HTTP/2 straight  away.  HTTPS requests  still  do",
  "\t    HTTP/2 the standard  way with negotiated  protocol version in  the",
  "\t    TLS handshake.",
  "\n\t    Providing --http2-prior-knowledge  multiple  times  has  no  extra",
  "\t    effect. Disable it again with --no-http2-prior-knowledge.",
  "\n\t    Example:",
  "\t     curl --http2-prior-knowledge https://example.com",
  "\n\t    See also  --http2  and --http3.  --http2-prior-knowledge  requires",
  "\t    that the  underlying libcurl  was built  to support  HTTP/2.  This",
  "\t    option is  mutually  exclusive  to  --http1.1  and  --http1.0  and",
  "\t    --http2 and --http3.",
  "\n    --http2",
  "\t    (HTTP) Use HTTP/2.",
  "\n\t    For  HTTPS,  this  means  curl   negotiates  HTTP/2  in  the   TLS",
  "\t    handshake. curl does this by default.",
  "\n\t    For HTTP,  this means  curl  attempts to  upgrade the  request  to",
  "\t    HTTP/2 using the Upgrade: request header.",
  "\n\t    When curl uses  HTTP/2 over HTTPS,  it does  not itself insist  on",
  "\t    TLS  1.2  or   higher  even  though  that   is  required  by   the",
  "\t    specification. A  user  can  add  this  version  requirement  with",
  "\t    --tlsv1.2.",
  "\n\t    Providing --http2 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --http2 https://example.com",
  "\n\t    See also --http1.1, --http3  and --no-alpn. --http2 requires  that",
  "\t    the underlying libcurl  was built to  support HTTP/2. This  option",
  "\t    is   mutually   exclusive   to   --http1.1   and   --http1.0   and",
  "\t    --http2-prior-knowledge and --http3.",
  "\n    --http3-only",
  "\t    (HTTP) Instructs curl to use HTTP/3  to the host in the URL,  with",
  "\t    no fallback to earlier HTTP versions. HTTP/3 can only be  used for",
  "\t    HTTPS and not  for HTTP URLs.  For HTTP,  this option triggers  an",
  "\t    error.",
  "\n\t    This option allows  a user to  avoid using  the Alt-Svc method  of",
  "\t    upgrading to HTTP/3 when  you know that  the target speaks  HTTP/3",
  "\t    on the given host and port.",
  "\n\t    This option  makes  curl  fail  if a  QUIC  connection  cannot  be",
  "\t    established, it does not  attempt any other  HTTP versions on  its",
  "\t    own. Use --http3 for similar functionality with a fallback.",
  "\n\t    Providing --http3-only multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --http3-only https://example.com",
  "\n\t    See also  --http1.1, --http2  and --http3.  --http3-only  requires",
  "\t    that the  underlying libcurl  was built  to support  HTTP/3.  This",
  "\t    option is  mutually  exclusive  to  --http1.1  and  --http1.0  and",
  "\t    --http2 and --http2-prior-knowledge and --http3. Added in 7.88.0.",
  "\n    --http3",
  "\t    (HTTP) Attempt  HTTP/3 to the  host in  the URL,  but fallback  to",
  "\t    earlier HTTP  versions  if  the  HTTP/3  connection  establishment",
  "\t    fails. HTTP/3 is only available for HTTPS and not for HTTP URLs.",
  "\n\t    This option allows  a user to  avoid using  the Alt-Svc method  of",
  "\t    upgrading to HTTP/3 when  you know that  the target speaks  HTTP/3",
  "\t    on the given host and port.",
  "\n\t    When asked to use  HTTP/3, curl issues  a separate attempt to  use",
  "\t    older  HTTP versions  with  a  slight  delay,  so  if  the  HTTP/3",
  "\t    transfer fails or  is slow, curl  still tries  to proceed with  an",
  "\t    older HTTP version.",
  "\n\t    Use --http3-only for similar functionality without a fallback.",
  "\n\t    Providing --http3 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --http3 https://example.com",
  "\n\t    See  also  --http1.1  and  --http2.  --http3  requires  that   the",
  "\t    underlying libcurl was  built to  support HTTP/3.  This option  is",
  "\t    mutually exclusive  to --http1.1  and  --http1.0 and  --http2  and",
  "\t    --http2-prior-knowledge and --http3-only. Added in 7.66.0.",
  "\n    --ignore-content-length",
  "\t    (FTP HTTP) For  HTTP, Ignore  the Content-Length  header. This  is",
  "\t    particularly useful for servers running Apache 1.x, which  reports",
  "\t    incorrect Content-Length for files larger than 2 gigabytes.",
  "\n\t    For FTP, this makes curl skip  the SIZE command to figure out  the",
  "\t    size before downloading a file.",
  "\n\t    This option does  not work for  HTTP if libcurl  was built to  use",
  "\t    hyper.",
  "\n\t    Providing --ignore-content-length  multiple  times  has  no  extra",
  "\t    effect. Disable it again with --no-ignore-content-length.",
  "\n\t    Example:",
  "\t     curl --ignore-content-length https://example.com",
  "\n\t    See also --ftp-skip-pasv-ip.",
  "\n    -i, --include",
  "\t    (HTTP FTP) Include response headers  in the output. HTTP  response",
  "\t    headers can include things like server name, cookies, date of  the",
  "\t    document, HTTP version  and more... With  non-HTTP protocols,  the",
  "\t    \"headers\" are other server communication.",
  "\n\t    To view the request headers, consider the --verbose option.",
  "\n\t    Prior to 7.75.0 curl did not print the headers if --fail  was used",
  "\t    in combination with this  option and there  was error reported  by",
  "\t    server.",
  "\n\t    Providing --include multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-include.",
  "\n\t    Example:",
  "\t     curl -i https://example.com",
  "\n\t    See also --verbose.",
  "\n    -k, --insecure",
  "\t    (TLS SFTP SCP) By default,  every secure connection curl makes  is",
  "\t    verified to  be  secure  before the  transfer  takes  place.  This",
  "\t    option makes curl skip the  verification step and proceed  without",
  "\t    checking.",
  "\n\t    When this  option  is  not  used for  protocols  using  TLS,  curl",
  "\t    verifies the server's  TLS certificate before  it continues:  that",
  "\t    the  certificate  contains  the  right  name  which  matches   the",
  "\t    hostname used in the URL and that the certificate has  been signed",
  "\t    by a CA  certificate present in  the cert  store. See this  online",
  "\t    resource for further details: https://curl.se/docs/sslcerts.html",
  "\n\t    For SFTP  and SCP,  this option  makes curl  skip the  known_hosts",
  "\t    verification. known_hosts is a file normally stored in the  user's",
  "\t    home  directory  in  the   \".ssh\"  subdirectory,  which   contains",
  "\t    hostnames and their public keys.",
  "\n\t    WARNING: using this option makes the transfer insecure.",
  "\n\t    When curl uses  secure protocols  it trusts  responses and  allows",
  "\t    for example HSTS  and Alt-Svc  information to be  stored and  used",
  "\t    subsequently. Using --insecure  can make curl  trust and use  such",
  "\t    information from malicious servers.",
  "\n\t    Providing --insecure multiple times  has no extra effect.  Disable",
  "\t    it again with --no-insecure.",
  "\n\t    Example:",
  "\t     curl --insecure https://example.com",
  "\n\t    See also --proxy-insecure, --cacert and --capath.",
  "\n    --interface <name>",
  "\t    Perform an operation  using a specified  interface. You can  enter",
  "\t    interface name,  IP address  or hostname.  An example  could  look",
  "\t    like:",
  "\n\t\tcurl --interface eth0:1 https://www.example.com/",
  "\n\t    On Linux it can be used to specify a VRF, but the binary  needs to",
  "\t    either have CAP_NET_RAW  or to  be run as  root. More  information",
  "\t    about\t\t\t  Linux\t\t\t  VRF:",
  "\t    https://www.kernel.org/doc/Documentation/networking/vrf.txt",
  "\n\t    If --interface is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --interface eth0 https://example.com",
  "\n\t    See also --dns-interface.",
  "\n    --ipfs-gateway <URL>",
  "\t    (IPFS) Specify which gateway  to use for  IPFS and IPNS URLs.  Not",
  "\t    specifying this  instead  makes  curl check  if  the  IPFS_GATEWAY",
  "\t    environment variable  is  set,  or  if  a  \"~/.ipfs/gateway\"  file",
  "\t    holding the gateway URL exists.",
  "\n\t    If  you run  a  local  IPFS  node,  this  gateway  is  by  default",
  "\t    available under \"http://localhost:8080\". A full example URL  would",
  "\t    look like:",
  "\n\t\tcurl --ipfs-gateway http://localhost:8080 ipfs://bafybeigagd5nmnn2iys2f3doro7ydrevyr2mzarwidgadawmamiteydbzi",
  "\n\t    There  are   many  public   IPFS   gateways.  See   for   example:",
  "\t    https://ipfs.github.io/public-gateway-checker/",
  "\n\t    If you opt to go  for a remote gateway  you need to be aware  that",
  "\t    you completely  trust the  gateway. This  might be  fine in  local",
  "\t    gateways that you host yourself. With remote gateways there  could",
  "\t    potentially be malicious actors returning  you data that does  not",
  "\t    match the request  you made,  inspect or even  interfere with  the",
  "\t    request. You may  not notice  this when using  curl. A  mitigation",
  "\t    could be to go for  a \"trustless\" gateway. This means you  locally",
  "\t    verify  that the  data.  Consult  the  docs  page  on  trusted  vs",
  "\t    trustless:",
  "\t    https://docs.ipfs.tech/reference/http/gateway/#trusted-vs-trustless",
  "\n\t    If --ipfs-gateway is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --ipfs-gateway https://example.com ipfs://",
  "\n\t    See also --help and --manual. Added in 8.4.0.",
  "\n    -4, --ipv4",
  "\t    Use IPv4  addresses only  when resolving  hostnames, and  not  for",
  "\t    example try IPv6.",
  "\n\t    Providing --ipv4 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --ipv4 https://example.com",
  "\n\t    See also --http1.1 and --http2. This option is mutually  exclusive",
  "\t    to --ipv6.",
  "\n    -6, --ipv6",
  "\t    Use IPv6  addresses only  when resolving  hostnames, and  not  for",
  "\t    example try IPv4.",
  "\n\t    Your resolver  may  respond to  an  IPv6-only resolve  request  by",
  "\t    returning IPv6 addresses that contain \"mapped\" IPv4 addresses  for",
  "\t    compatibility purposes. macOS is known to do this.",
  "\n\t    Providing --ipv6 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --ipv6 https://example.com",
  "\n\t    See also --http1.1 and --http2. This option is mutually  exclusive",
  "\t    to --ipv4.",
  "\n    --json <data>",
  "\t    (HTTP) Sends  the specified JSON  data in  a POST  request to  the",
  "\t    HTTP server.  --json works  as  a shortcut  for passing  on  these",
  "\t    three options:",
  "\n\t\t--data [arg]",
  "\t\t--header \"Content-Type: application/json\"",
  "\t\t--header \"Accept: application/json\"",
  "\n\t    There is no verification  that the passed  in data is actual  JSON",
  "\t    or that the syntax is correct.",
  "\n\t    If you start  the data  with the letter  @, the rest  should be  a",
  "\t    filename to read the data from,  or a single dash (-) if you  want",
  "\t    curl to read the data from  stdin. Posting data from a file  named",
  "\t    'foobar' would thus  be done  with --json @foobar  and to  instead",
  "\t    read the data from stdin, use --json @-.",
  "\n\t    If this option is  used more than once  on the same command  line,",
  "\t    the additional  data  pieces  are  concatenated  to  the  previous",
  "\t    before sending.",
  "\n\t    The headers this option  sets can be  overridden with --header  as",
  "\t    usual.",
  "\n\t    --json can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl --json '{ \"drink\": \"coffe\" }' https://example.com",
  "\t     curl --json '{ \"drink\":' --json ' \"coffe\" }' https://example.com",
  "\t     curl --json @prepared https://example.com",
  "\t     curl --json @- https://example.com < json.txt",
  "\n\t    See also  --data-binary and  --data-raw. This  option is  mutually",
  "\t    exclusive  to  --form  and  --head  and  --upload-file.  Added  in",
  "\t    7.82.0.",
  "\n    -j, --junk-session-cookies",
  "\t    (HTTP) When curl is told to  read cookies from a given file,  this",
  "\t    option makes it discard all  \"session cookies\". This has the  same",
  "\t    effect as if a  new session is  started. Typical browsers  discard",
  "\t    session cookies when they are closed down.",
  "\n\t    Providing  --junk-session-cookies  multiple  times  has  no  extra",
  "\t    effect. Disable it again with --no-junk-session-cookies.",
  "\n\t    Example:",
  "\t     curl --junk-session-cookies -b cookies.txt https://example.com",
  "\n\t    See also --cookie and --cookie-jar.",
  "\n    --keepalive-time <seconds>",
  "\t    Set the  time a  connection needs  to remain  idle before  sending",
  "\t    keepalive  probes  and  the  time  between  individual   keepalive",
  "\t    probes. It is  currently effective on  operating systems  offering",
  "\t    the \"TCP_KEEPIDLE\"  and  \"TCP_KEEPINTVL\" socket  options  (meaning",
  "\t    Linux, recent AIX, HP-UX and  more). Keepalive is used by the  TCP",
  "\t    stack to detect  broken networks on  idle connections. The  number",
  "\t    of missed keepalive  probes before declaring  the connection  down",
  "\t    is OS  dependent and  is  commonly 9  or 10.  This option  has  no",
  "\t    effect if --no-keepalive is used.",
  "\n\t    If unspecified, the option defaults to 60 seconds.",
  "\n\t    If --keepalive-time is provided several times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --keepalive-time 20 https://example.com",
  "\n\t    See also --no-keepalive and --max-time.",
  "\n    --key-type <type>",
  "\t    (TLS) Private  key  file  type.  Specify  which  type  your  --key",
  "\t    provided private key is. DER,  PEM, and ENG are supported. If  not",
  "\t    specified, PEM is assumed.",
  "\n\t    If --key-type is  provided several  times, the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --key-type DER --key here https://example.com",
  "\n\t    See also --key.",
  "\n    --key <key>",
  "\t    (TLS SSH)  Private  key  filename.  Allows  you  to  provide  your",
  "\t    private key  in this  separate file.  For SSH,  if not  specified,",
  "\t    curl tries  the following  candidates in  order:  \"~/.ssh/id_rsa\",",
  "\t    \"~/.ssh/id_dsa\", \"./id_rsa\", \"./id_dsa\".",
  "\n\t    If curl is built  against OpenSSL library,  and the engine  pkcs11",
  "\t    is available,  then  a  PKCS#11 URI  (RFC  7512) can  be  used  to",
  "\t    specify a  private  key located  in  a PKCS#11  device.  A  string",
  "\t    beginning with \"pkcs11:\"  is interpreted  as a PKCS#11  URI. If  a",
  "\t    PKCS#11 URI  is  provided, then  the  --engine option  is  set  as",
  "\t    \"pkcs11\" if none was provided and the --key-type option is  set as",
  "\t    \"ENG\" if none was provided.",
  "\n\t    If curl is built  against Secure Transport  or Schannel then  this",
  "\t    option is ignored for TLS  protocols (HTTPS, etc). Those  backends",
  "\t    expect the private key  to be already  present in the keychain  or",
  "\t    PKCS#12 file containing the certificate.",
  "\n\t    If --key is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --cert certificate --key here https://example.com",
  "\n\t    See also --key-type and --cert.",
  "\n    --krb <level>",
  "\t    (FTP) Enable Kerberos  authentication and use.  The level must  be",
  "\t    entered and should be one  of 'clear', 'safe', 'confidential',  or",
  "\t    'private'. Should  you  use a  level that  is  not one  of  these,",
  "\t    'private' is used.",
  "\n\t    If --krb is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --krb clear ftp://example.com/",
  "\n\t    See  also  --delegation  and   --ssl.  --krb  requires  that   the",
  "\t    underlying libcurl was built to support Kerberos.",
  "\n    --libcurl <file>",
  "\t    Append this option to any ordinary curl command line, and  you get",
  "\t    libcurl-using C  source code  written to  the file  that does  the",
  "\t    equivalent of what your command-line operation does!",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    If --libcurl  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --libcurl client.c https://example.com",
  "\n\t    See also --verbose.",
  "\n    --limit-rate <speed>",
  "\t    Specify the maximum transfer rate you want curl to use -  for both",
  "\t    downloads and  uploads.  This feature  is  useful if  you  have  a",
  "\t    limited pipe  and you would  like your  transfer not  to use  your",
  "\t    entire bandwidth. To make it slower than it otherwise would be.",
  "\n\t    The given speed is  measured in bytes/second,  unless a suffix  is",
  "\t    appended. Appending 'k'  or 'K'  counts the  number as  kilobytes,",
  "\t    'm'  or 'M'  makes  it  megabytes,  while  'g'  or  'G'  makes  it",
  "\t    gigabytes. The  suffixes  (k, M,  G, T,  P)  are 1024  based.  For",
  "\t    example 1k is 1024. Examples: 200K, 3m and 1G.",
  "\n\t    The rate limiting logic works  on averaging the transfer speed  to",
  "\t    no more than the set threshold over a period of multiple seconds.",
  "\n\t    If you  also  use  the --speed-limit  option,  that  option  takes",
  "\t    precedence and might cripple  the rate-limiting slightly, to  help",
  "\t    keeping the speed-limit logic working.",
  "\n\t    If --limit-rate is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl --limit-rate 100K https://example.com",
  "\t     curl --limit-rate 1000 https://example.com",
  "\t     curl --limit-rate 10M https://example.com",
  "\n\t    See also --rate, --speed-limit and --speed-time.",
  "\n    -l, --list-only",
  "\t    (FTP POP3 SFTP) When listing  an FTP directory, force a  name-only",
  "\t    view.  Maybe   particularly   useful   if  the   user   wants   to",
  "\t    machine-parse the contents  of an FTP  directory since the  normal",
  "\t    directory view does not use  a standard look or format. When  used",
  "\t    like this, the  option causes an  NLST command to  be sent to  the",
  "\t    server instead of LIST.",
  "\n\t    Note: Some FTP servers list only files in their response  to NLST;",
  "\t    they do not include sub-directories and symbolic links.",
  "\n\t    When listing an  SFTP directory,  this switch  forces a  name-only",
  "\t    view, one per line.  This is especially  useful if the user  wants",
  "\t    to machine-parse  the  contents of  an  SFTP directory  since  the",
  "\t    normal  directory  view  provides   more  information  than   just",
  "\t    filenames.",
  "\n\t    When retrieving a specific email  from POP3, this switch forces  a",
  "\t    LIST  command  to   be  performed   instead  of   RETR.  This   is",
  "\t    particularly useful  if  the  user  wants to  see  if  a  specific",
  "\t    message-id exists on the server and what size it is.",
  "\n\t    Note: When combined  with --request,  this option can  be used  to",
  "\t    send a  UIDL command  instead, so  the user  may  use the  email's",
  "\t    unique identifier rather than its message-id to make the request.",
  "\n\t    Providing --list-only multiple times has no extra effect.  Disable",
  "\t    it again with --no-list-only.",
  "\n\t    Example:",
  "\t     curl --list-only ftp://example.com/dir/",
  "\n\t    See also --quote and --request.",
  "\n    --local-port <range>",
  "\t    Set a preferred  single number  or range (FROM-TO)  of local  port",
  "\t    numbers to use for  the connection(s). Note  that port numbers  by",
  "\t    nature are a scarce  resource so setting  this range to  something",
  "\t    too narrow might cause unnecessary connection setup failures.",
  "\n\t    If --local-port is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --local-port 1000-3000 https://example.com",
  "\n\t    See also --globoff.",
  "\n    --location-trusted",
  "\t    (HTTP) Like --location, but allows sending the name + password  to",
  "\t    all hosts  that the  site may  redirect to.  This may  or may  not",
  "\t    introduce a security breach  if the site  redirects you to a  site",
  "\t    to which you  send your authentication  info (which is  clear-text",
  "\t    in the case of HTTP Basic authentication).",
  "\n\t    Providing --location-trusted multiple times  has no extra  effect.",
  "\t    Disable it again with --no-location-trusted.",
  "\n\t    Example:",
  "\t     curl --location-trusted -u user:password https://example.com",
  "\n\t    See also --user.",
  "\n    -L, --location",
  "\t    (HTTP) If the server reports that the requested page has  moved to",
  "\t    a different location (indicated with a Location: header and a  3XX",
  "\t    response code), this  option makes  curl redo the  request on  the",
  "\t    new place.  If used  together with  --include or  --head,  headers",
  "\t    from all requested pages are shown.",
  "\n\t    When authentication is  used, curl only  sends its credentials  to",
  "\t    the initial host. If  a redirect takes  curl to a different  host,",
  "\t    it  does   not   get  the   user+password   pass  on.   See   also",
  "\t    --location-trusted on how to change this.",
  "\n\t    Limit the amount of redirects to follow by using the  --max-redirs",
  "\t    option.",
  "\n\t    When curl follows  a redirect  and if  the request is  a POST,  it",
  "\t    sends the following request  with a GET  if the HTTP response  was",
  "\t    301, 302, or  303. If the  response code was  any other 3xx  code,",
  "\t    curl resends  the  following  request using  the  same  unmodified",
  "\t    method.",
  "\n\t    You can tell curl to not  change POST requests to GET after a  30x",
  "\t    response by  using  the  dedicated options  for  that:  --post301,",
  "\t    --post302 and --post303.",
  "\n\t    The method  set with  --request overrides  the method  curl  would",
  "\t    otherwise select to use.",
  "\n\t    Providing --location multiple times  has no extra effect.  Disable",
  "\t    it again with --no-location.",
  "\n\t    Example:",
  "\t     curl -L https://example.com",
  "\n\t    See also --resolve and --alt-svc.",
  "\n    --login-options <options>",
  "\t    (IMAP LDAP  POP3 SMTP)  Specify the  login options  to use  during",
  "\t    server authentication.",
  "\n\t    You can use  login options  to specify  protocol specific  options",
  "\t    that may  be used  during authentication.  At present  only  IMAP,",
  "\t    POP3 and SMTP  support login options.  For more information  about",
  "\t    login options please  see RFC 2384,  RFC 5092  and the IETF  draft",
  "\t    https://datatracker.ietf.org/doc/html/draft-earhart-url-smtp-00",
  "\n\t    Since 8.2.0, IMAP  supports the login  option \"AUTH=+LOGIN\".  With",
  "\t    this option, curl uses the  plain (not SASL) \"LOGIN IMAP\"  command",
  "\t    even if the server advertises SASL authentication. Care should  be",
  "\t    taken in using  this option, as  it sends  your password over  the",
  "\t    network in  plain text.  This does  not work  if  the IMAP  server",
  "\t    disables the plain \"LOGIN\" (e.g. to prevent password snooping).",
  "\n\t    If --login-options is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --login-options 'AUTH=*' imap://example.com",
  "\n\t    See also --user.",
  "\n    --mail-auth <address>",
  "\t    (SMTP) Specify  a single  address.  This is  used to  specify  the",
  "\t    authentication address (identity) of  a submitted message that  is",
  "\t    being relayed to another server.",
  "\n\t    If --mail-auth is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --mail-auth user@example.come -T mail smtp://example.com/",
  "\n\t    See also --mail-rcpt and --mail-from.",
  "\n    --mail-from <address>",
  "\t    (SMTP) Specify a  single address  that the given  mail should  get",
  "\t    sent from.",
  "\n\t    If --mail-from is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --mail-from user@example.com -T mail smtp://example.com/",
  "\n\t    See also --mail-rcpt and --mail-auth.",
  "\n    --mail-rcpt-allowfails",
  "\t    (SMTP) When sending data to  multiple recipients, by default  curl",
  "\t    aborts SMTP conversation if at least one of the recipients  causes",
  "\t    RCPT TO command to return an error.",
  "\n\t    The   default    behavior    can    be    changed    by    passing",
  "\t    --mail-rcpt-allowfails  command-line  option   which  makes   curl",
  "\t    ignore errors and proceed with the remaining valid recipients.",
  "\n\t    If all  recipients  trigger RCPT  TO  failures and  this  flag  is",
  "\t    specified, curl  still aborts  the SMTP  conversation and  returns",
  "\t    the error received from to the last RCPT TO command.",
  "\n\t    Providing  --mail-rcpt-allowfails  multiple  times  has  no  extra",
  "\t    effect. Disable it again with --no-mail-rcpt-allowfails.",
  "\n\t    Example:",
  "\t     curl --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com",
  "\n\t    See also --mail-rcpt. Added in 7.69.0.",
  "\n    --mail-rcpt <address>",
  "\t    (SMTP) Specify a  single email address,  username or mailing  list",
  "\t    name. Repeat  this  option  several  times  to  send  to  multiple",
  "\t    recipients.",
  "\n\t    When  performing  an  address  verification  (VRFY  command),  the",
  "\t    recipient should  be specified  as the  username or  username  and",
  "\t    domain (as per Section 3.5 of RFC 5321).",
  "\n\t    When  performing  a  mailing  list  expand  (EXPN  command),   the",
  "\t    recipient should be  specified using the  mailing list name,  such",
  "\t    as \"Friends\" or \"London-Office\".",
  "\n\t    --mail-rcpt can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --mail-rcpt user@example.net smtp://example.com",
  "\n\t    See also --mail-rcpt-allowfails.",
  "\n    -M, --manual",
  "\t    Manual. Display the huge help text.",
  "\n\t    Example:",
  "\t     curl --manual",
  "\n\t    See also --verbose, --libcurl and --trace.",
  "\n    --max-filesize <bytes>",
  "\t    (FTP HTTP MQTT) Specify the maximum  size (in bytes) of a file  to",
  "\t    download. If the  file requested  is larger than  this value,  the",
  "\t    transfer does not start and curl returns with exit code 63.",
  "\n\t    A size modifier  may be used.  For example,  Appending 'k' or  'K'",
  "\t    counts the number  as kilobytes,  'm' or 'M'  makes it  megabytes,",
  "\t    while 'g' or 'G'  makes it gigabytes.  Examples: 200K, 3m and  1G.",
  "\t    (Added in 7.58.0)",
  "\n\t    NOTE: before curl 8.4.0, when the file size is not known  prior to",
  "\t    download, for such  files this option  has no  effect even if  the",
  "\t    file transfer ends up being larger than this given limit.",
  "\n\t    Starting with curl 8.4.0,  this option aborts  the transfer if  it",
  "\t    reaches the threshold during transfer.",
  "\n\t    If --max-filesize is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --max-filesize 100K https://example.com",
  "\n\t    See also --limit-rate.",
  "\n    --max-redirs <num>",
  "\t    (HTTP)  Set  maximum  number  of  redirections  to  follow.   When",
  "\t    --location is  used,  to  prevent curl  from  following  too  many",
  "\t    redirects, by default, the limit is set to 50 redirects.  Set this",
  "\t    option to -1 to make it unlimited.",
  "\n\t    If --max-redirs is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --max-redirs 3 --location https://example.com",
  "\n\t    See also --location.",
  "\n    -m, --max-time <seconds>",
  "\t    Set maximum time in seconds that you allow each transfer  to take.",
  "\t    Prevents your  batch  jobs from  hanging  for hours  due  to  slow",
  "\t    networks or links going down. This option accepts decimal values.",
  "\n\t    If you enable  retrying the  transfer (--retry)  then the  maximum",
  "\t    time counter is reset each  time the transfer is retried. You  can",
  "\t    use --retry-max-time to limit the retry time.",
  "\n\t    The decimal value  needs to provided  using a  dot (.) as  decimal",
  "\t    separator -  not  the local  version even  if  it might  be  using",
  "\t    another separator.",
  "\n\t    If --max-time is  provided several  times, the last  set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl --max-time 10 https://example.com",
  "\t     curl --max-time 2.92 https://example.com",
  "\n\t    See also --connect-timeout and --retry-max-time.",
  "\n    --metalink",
  "\t    This option was  previously used to  specify a Metalink  resource.",
  "\t    Metalink support is disabled in  curl for security reasons  (added",
  "\t    in 7.78.0).",
  "\n\t    If --metalink is  provided several  times, the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --metalink file https://example.com",
  "\n\t    See also --parallel.",
  "\n    --negotiate",
  "\t    (HTTP) Enable Negotiate (SPNEGO) authentication.",
  "\n\t    This  option  requires  a  library  built  with  GSS-API  or  SSPI",
  "\t    support. Use --version to see  if your curl supports  GSS-API/SSPI",
  "\t    or SPNEGO.",
  "\n\t    When using  this  option, you  must  also provide  a  fake  --user",
  "\t    option to  activate the  authentication code  properly. Sending  a",
  "\t    '-u :'  is enough as  the username  and password  from the  --user",
  "\t    option are not actually used.",
  "\n\t    Providing --negotiate multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --negotiate -u : https://example.com",
  "\n\t    See also --basic, --ntlm, --anyauth and --proxy-negotiate.",
  "\n    --netrc-file <filename>",
  "\t    Set the netrc  file to use.  Similar to  --netrc, except that  you",
  "\t    also provide the path (absolute or relative).",
  "\n\t    It abides by --netrc-optional if specified.",
  "\n\t    If --netrc-file is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --netrc-file netrc https://example.com",
  "\n\t    See also --netrc,  --user and  --config. This  option is  mutually",
  "\t    exclusive to --netrc.",
  "\n    --netrc-optional",
  "\t    Similar to  --netrc,  but  this  option  makes  the  .netrc  usage",
  "\t    optional and not mandatory as the --netrc option does.",
  "\n\t    Providing --netrc-optional  multiple times  has no  extra  effect.",
  "\t    Disable it again with --no-netrc-optional.",
  "\n\t    Example:",
  "\t     curl --netrc-optional https://example.com",
  "\n\t    See also  --netrc-file.  This  option  is  mutually  exclusive  to",
  "\t    --netrc.",
  "\n    -n, --netrc",
  "\t    Make curl scan the  .netrc file in  the user's home directory  for",
  "\t    login name and password. This  is typically used for FTP on  Unix.",
  "\t    If used with HTTP, curl enables user authentication. See  netrc(5)",
  "\t    and ftp(1) for details on the file format. Curl does  not complain",
  "\t    if that file  does not have  the right  permissions (it should  be",
  "\t    neither  world-  nor  group-readable).  The  environment  variable",
  "\t    \"HOME\" is used to find the home directory.",
  "\n\t    On Windows  two  filenames  in the  home  directory  are  checked:",
  "\t    .netrc and  _netrc,  preferring  the  former.  Older  versions  on",
  "\t    Windows checked for _netrc only.",
  "\n\t    A quick and simple example of how to setup a .netrc to  allow curl",
  "\t    to FTP to the machine  host.domain.com with username 'myself'  and",
  "\t    password 'secret' could look similar to:",
  "\n\t\tmachine host.domain.com",
  "\t\tlogin myself",
  "\t\tpassword secret",
  "\t    Providing --netrc multiple times has  no extra effect. Disable  it",
  "\t    again with --no-netrc.",
  "\n\t    Example:",
  "\t     curl --netrc https://example.com",
  "\n\t    See  also  --netrc-file,  --config  and  --user.  This  option  is",
  "\t    mutually exclusive to --netrc-file and --netrc-optional.",
  "\n    -:, --next",
  "\t    Use a  separate operation  for the  following URL  and  associated",
  "\t    options. This allows you to  send several URL requests, each  with",
  "\t    their  own  specific  options,  for  example,  such  as  different",
  "\t    usernames or custom requests for each.",
  "\n\t    --next resets all local  options and only  global ones have  their",
  "\t    values  survive  over  to  the  operation  following  the   --next",
  "\t    instruction.   Global   options   include   --verbose,    --trace,",
  "\t    --trace-ascii and --fail-early.",
  "\n\t    For example, you can do both a GET and a POST in a  single command",
  "\t    line:",
  "\n\t\tcurl www1.example.com --next -d postthis www2.example.com",
  "\t    --next can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl https://example.com --next -d postthis www2.example.com",
  "\t     curl -I https://example.com --next https://example.net/",
  "\n\t    See also --parallel and --config.",
  "\n    --no-alpn",
  "\t    (HTTPS) Disable  the  ALPN  TLS  extension.  ALPN  is  enabled  by",
  "\t    default if libcurl  was built  with an SSL  library that  supports",
  "\t    ALPN. ALPN is used by a libcurl that supports HTTP/2  to negotiate",
  "\t    HTTP/2 support with the server during https sessions.",
  "\n\t    Note that this is the negated option name documented. You  can use",
  "\t    --alpn to enable ALPN.",
  "\n\t    Providing --no-alpn multiple  times has no  extra effect.  Disable",
  "\t    it again with --alpn.",
  "\n\t    Example:",
  "\t     curl --no-alpn https://example.com",
  "\n\t    See  also  --no-npn  and  --http2.  --no-alpn  requires  that  the",
  "\t    underlying libcurl was built to support TLS.",
  "\n    -N, --no-buffer",
  "\t    Disables the  buffering  of  the output  stream.  In  normal  work",
  "\t    situations, curl uses a standard  buffered output stream that  has",
  "\t    the effect that  it outputs  the data in  chunks, not  necessarily",
  "\t    exactly when the  data arrives.  Using this  option disables  that",
  "\t    buffering.",
  "\n\t    Note that this is the negated option name documented. You  can use",
  "\t    --buffer to enable buffering again.",
  "\n\t    Providing --no-buffer multiple times has no extra effect.  Disable",
  "\t    it again with --buffer.",
  "\n\t    Example:",
  "\t     curl --no-buffer https://example.com",
  "\n\t    See also --progress-bar.",
  "\n    --no-clobber",
  "\t    When used in conjunction with the --output,  --remote-header-name,",
  "\t    --remote-name,   or   --remote-name-all   options,   curl   avoids",
  "\t    overwriting files that already exist. Instead, a dot and a  number",
  "\t    gets appended to the  name of the file  that would be created,  up",
  "\t    to filename.100 after which it does not create any file.",
  "\n\t    Note that  this is  the negated  option name  documented. You  can",
  "\t    thus  use   --clobber  to   enforce   the  clobbering,   even   if",
  "\t    --remote-header-name is specified.",
  "\n\t    Providing  --no-clobber  multiple  times  has  no  extra   effect.",
  "\t    Disable it again with --clobber.",
  "\n\t    Example:",
  "\t     curl --no-clobber --output local/dir/file https://example.com",
  "\n\t    See also --output and --remote-name. Added in 7.83.0.",
  "\n    --no-keepalive",
  "\t    Disables the  use of  keepalive messages  on the  TCP  connection.",
  "\t    curl otherwise enables them by default.",
  "\n\t    Note that  this is  the negated  option name  documented. You  can",
  "\t    thus use --keepalive to enforce keepalive.",
  "\n\t    Providing --no-keepalive  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --keepalive.",
  "\n\t    Example:",
  "\t     curl --no-keepalive https://example.com",
  "\n\t    See also --keepalive-time.",
  "\n    --no-npn",
  "\t    (HTTPS) curl never uses NPN,  this option has no effect (added  in",
  "\t    7.86.0).",
  "\n\t    Disable the  NPN  TLS extension.  NPN  is enabled  by  default  if",
  "\t    libcurl was built with  an SSL library  that supports NPN. NPN  is",
  "\t    used by  a  libcurl  that  supports  HTTP/2  to  negotiate  HTTP/2",
  "\t    support with the server during https sessions.",
  "\n\t    Providing --no-npn multiple times has no extra effect. Disable  it",
  "\t    again with --npn.",
  "\n\t    Example:",
  "\t     curl --no-npn https://example.com",
  "\n\t    See  also  --no-alpn  and  --http2.  --no-npn  requires  that  the",
  "\t    underlying libcurl was built to support TLS.",
  "\n    --no-progress-meter",
  "\t    Option to switch off the  progress meter output without muting  or",
  "\t    otherwise  affecting  warning  and  informational  messages   like",
  "\t    --silent does.",
  "\n\t    Note that  this is  the negated  option name  documented. You  can",
  "\t    thus use --progress-meter to enable the progress meter again.",
  "\n\t    Providing --no-progress-meter multiple times has no extra  effect.",
  "\t    Disable it again with --progress-meter.",
  "\n\t    Example:",
  "\t     curl --no-progress-meter -o store https://example.com",
  "\n\t    See also --verbose and --silent. Added in 7.67.0.",
  "\n    --no-sessionid",
  "\t    (TLS) Disable curl's  use of  SSL session-ID  caching. By  default",
  "\t    all transfers are done  using the cache.  Note that while  nothing",
  "\t    should ever  get  hurt by  attempting  to reuse  SSL  session-IDs,",
  "\t    there seem to be broken  SSL implementations in the wild that  may",
  "\t    require you to disable this in order for you to succeed.",
  "\n\t    Note that  this is  the negated  option name  documented. You  can",
  "\t    thus use --sessionid to enforce session-ID caching.",
  "\n\t    Providing --no-sessionid  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --sessionid.",
  "\n\t    Example:",
  "\t     curl --no-sessionid https://example.com",
  "\n\t    See also --insecure.",
  "\n    --noproxy <no-proxy-list>",
  "\t    Comma-separated list of  hosts for which  not to  use a proxy,  if",
  "\t    one is specified.  The only  wildcard is a  single \"*\"  character,",
  "\t    which matches all hosts, and effectively disables the proxy.  Each",
  "\t    name in this  list is matched  as either  a domain which  contains",
  "\t    the hostname,  or the  hostname itself.  For example,  \"local.com\"",
  "\t    would match \"local.com\", \"local.com:80\", and \"www.local.com\",  but",
  "\t    not \"www.notlocal.com\".",
  "\n\t    This option overrides the  environment variables that disable  the",
  "\t    proxy (\"no_proxy\" and \"NO_PROXY\") (added  in 7.53.0). If there  is",
  "\t    an environment  variable disabling  a proxy,  you can  set the  no",
  "\t    proxy list to \"\" to override it.",
  "\n\t    IP addresses specified to this  option can be provided using  CIDR",
  "\t    notation  (added  in  7.86.0):   an  appended  slash  and   number",
  "\t    specifies the number of network bits out of the address to  use in",
  "\t    the comparison.  For  example  \"192.168.0.0/16\"  would  match  all",
  "\t    addresses starting with \"192.168\".",
  "\n\t    If --noproxy  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --noproxy \"www.example\" https://example.com",
  "\n\t    See also --proxy.",
  "\n    --ntlm-wb",
  "\t    (HTTP) Enables NTLM much in  the style --ntlm does, but hand  over",
  "\t    the authentication to the  separate binary \"ntlmauth\"  application",
  "\t    that is executed when needed.",
  "\n\t    Providing --ntlm-wb multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --ntlm-wb -u user:password https://example.com",
  "\n\t    See also --ntlm and --proxy-ntlm.",
  "\n    --ntlm",
  "\t    (HTTP) Use  NTLM authentication.  The NTLM  authentication  method",
  "\t    was designed by Microsoft and is used by IIS web servers. It  is a",
  "\t    proprietary protocol,  reverse-engineered  by  clever  people  and",
  "\t    implemented in curl based on their efforts. This kind of  behavior",
  "\t    should not be  endorsed, you  should encourage  everyone who  uses",
  "\t    NTLM to switch  to a public  and documented authentication  method",
  "\t    instead, such as Digest.",
  "\n\t    If you want  to enable  NTLM for your  proxy authentication,  then",
  "\t    use --proxy-ntlm.",
  "\n\t    Providing --ntlm multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --ntlm -u user:password https://example.com",
  "\n\t    See  also  --proxy-ntlm.  --ntlm  requires  that  the   underlying",
  "\t    libcurl  was  built  to  support  TLS.  This  option  is  mutually",
  "\t    exclusive to --basic and --negotiate and --digest and --anyauth.",
  "\n    --oauth2-bearer <token>",
  "\t    (IMAP LDAP POP3 SMTP HTTP) Specify the Bearer Token for  OAUTH 2.0",
  "\t    server authentication.  The Bearer  Token is  used in  conjunction",
  "\t    with the username which can be  specified as part of the --url  or",
  "\t    --user options.",
  "\n\t    The Bearer  Token  and username  are  formatted according  to  RFC",
  "\t    6750.",
  "\n\t    If --oauth2-bearer is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --oauth2-bearer \"mF_9.B5f-4.1JqM\" https://example.com",
  "\n\t    See also --basic, --ntlm and --digest.",
  "\n    --output-dir <dir>",
  "\t    Specify the  directory  in  which files  should  be  stored,  when",
  "\t    --remote-name or --output are used.",
  "\n\t    The given  output  directory  is  used for  all  URLs  and  output",
  "\t    options on the command line, up until the first --next.",
  "\n\t    If the specified  target directory does  not exist, the  operation",
  "\t    fails unless --create-dirs is also used.",
  "\n\t    If --output-dir is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --output-dir \"tmp\" -O https://example.com",
  "\n\t    See also --remote-name and --remote-header-name. Added in 7.73.0.",
  "\n    -o, --output <file>",
  "\t    Write output  to the  given file  instead of  stdout.  If you  are",
  "\t    using globbing to fetch multiple  documents, you should quote  the",
  "\t    URL and you  can use  \"#\" followed  by a number  in the  filename.",
  "\t    That variable is  then replaced  with the current  string for  the",
  "\t    URL being fetched. Like in:",
  "\n\t\tcurl \"http://{one,two}.example.com\" -o \"file_#1.txt\"",
  "\n\t    or use several variables like:",
  "\n\t\tcurl \"http://{site,host}.host[1-5].example\" -o \"#1_#2\"",
  "\n\t    You may use this  option as many times as  the number of URLs  you",
  "\t    have. For example,  if you specify  two URLs  on the same  command",
  "\t    line, you can use it like this:",
  "\n\t\tcurl -o aa example.com -o bb example.net",
  "\n\t    and the order  of the  -o options  and the URLs  does not  matter,",
  "\t    just that the  first -o is  for the first  URL and  so on, so  the",
  "\t    above command line can also be written as",
  "\n\t\tcurl example.com example.net -o aa -o bb",
  "\n\t    See also the --create-dirs option to create the local  directories",
  "\t    dynamically. Specifying the output as  '-' (a single dash)  passes",
  "\t    the output to stdout.",
  "\n\t    To  suppress  response   bodies,  you  can   redirect  output   to",
  "\t    /dev/null:",
  "\n\t\tcurl example.com -o /dev/null",
  "\n\t    Or for Windows:",
  "\n\t\tcurl example.com -o nul",
  "\n\t    Specify the  filename  as single  minus  to force  the  output  to",
  "\t    stdout, to  override curl's  internal  binary output  in  terminal",
  "\t    prevention:",
  "\n\t\tcurl https://example.com/jpeg -o -",
  "\t    --output can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl -o file https://example.com",
  "\t     curl \"http://{one,two}.example.com\" -o \"file_#1.txt\"",
  "\t     curl \"http://{site,host}.host[1-5].example\" -o \"#1_#2\"",
  "\t     curl -o file https://example.com -o file2 https://example.net",
  "\n\t    See      also      --remote-name,      --remote-name-all       and",
  "\t    --remote-header-name.",
  "\n    --parallel-immediate",
  "\t    When doing parallel transfers, this option instructs curl that  it",
  "\t    should rather prefer  opening up more  connections in parallel  at",
  "\t    once rather than waiting to see  if new transfers can be added  as",
  "\t    multiplexed streams on another connection.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing  --parallel-immediate  multiple   times  has  no   extra",
  "\t    effect. Disable it again with --no-parallel-immediate.",
  "\n\t    Example:",
  "\t     curl --parallel-immediate -Z https://example.com -o file1 https://example.com -o file2",
  "\n\t    See also --parallel and --parallel-max. Added in 7.68.0.",
  "\n    --parallel-max <num>",
  "\t    When asked  to  do  parallel  transfers,  using  --parallel,  this",
  "\t    option  controls   the  maximum   amount   of  transfers   to   do",
  "\t    simultaneously.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    The default is 50.",
  "\n\t    If --parallel-max is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --parallel-max 100 -Z https://example.com ftp://example.com/",
  "\n\t    See also --parallel. Added in 7.66.0.",
  "\n    -Z, --parallel",
  "\t    Makes curl perform its  transfers in parallel  as compared to  the",
  "\t    regular serial manner.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing --parallel multiple times  has no extra effect.  Disable",
  "\t    it again with --no-parallel.",
  "\n\t    Example:",
  "\t     curl --parallel https://example.com -o file1 https://example.com -o file2",
  "\n\t    See also --next and --verbose. Added in 7.66.0.",
  "\n    --pass <phrase>",
  "\t    (SSH TLS) Passphrase for the private key.",
  "\n\t    If --pass is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --pass secret --key file https://example.com",
  "\n\t    See also --key and --user.",
  "\n    --path-as-is",
  "\t    Do not handle  sequences of  /../ or  /./ in the  given URL  path.",
  "\t    Normally curl squashes or merges  them according to standards  but",
  "\t    with this option set you tell it not to do that.",
  "\n\t    Providing  --path-as-is  multiple  times  has  no  extra   effect.",
  "\t    Disable it again with --no-path-as-is.",
  "\n\t    Example:",
  "\t     curl --path-as-is https://example.com/../../etc/passwd",
  "\n\t    See also --request-target.",
  "\n    --pinnedpubkey <hashes>",
  "\t    (TLS) Use the specified public key file (or hashes) to  verify the",
  "\t    peer. This can be a path to a file which contains a  single public",
  "\t    key in PEM or DER format,  or any number of base64 encoded  sha256",
  "\t    hashes preceded by 'sha256//' and separated by ';'.",
  "\n\t    When negotiating  a TLS  or  SSL connection,  the server  sends  a",
  "\t    certificate indicating  its identity.  A public  key is  extracted",
  "\t    from this certificate and if it does not exactly match  the public",
  "\t    key provided to  this option,  curl aborts  the connection  before",
  "\t    sending or receiving any data.",
  "\n\t    This option is independent of  option --insecure. If you use  both",
  "\t    options together then the peer is still verified by public key.",
  "\n\t    PEM/DER support:",
  "\n\t    OpenSSL and GnuTLS,  wolfSSL (added in  7.43.0), mbedTLS ,  Secure",
  "\t    Transport macOS 10.7+/iOS 10+ (7.54.1), Schannel (7.58.1)",
  "\n\t    sha256 support:",
  "\n\t    OpenSSL, GnuTLS  and wolfSSL,  mbedTLS (added  in 7.47.0),  Secure",
  "\t    Transport macOS 10.7+/iOS 10+ (7.54.1), Schannel (7.58.1)",
  "\n\t    Other SSL backends not supported.",
  "\n\t    If --pinnedpubkey is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Examples:",
  "\t     curl --pinnedpubkey keyfile https://example.com",
  "\t     curl --pinnedpubkey 'sha256//ce118b51897f4452dc' https://example.com",
  "\n\t    See also --hostpubsha256.",
  "\n    --post301",
  "\t    (HTTP) Respect RFC  7231/6.4.2 and  do not  convert POST  requests",
  "\t    into GET  requests  when following  a  301 redirect.  The  non-RFC",
  "\t    behavior  is  ubiquitous  in  web  browsers,  so  curl  does   the",
  "\t    conversion by default to  maintain consistency. However, a  server",
  "\t    may require  a POST to  remain a  POST after  such a  redirection.",
  "\t    This option is meaningful only when using --location.",
  "\n\t    Providing --post301 multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-post301.",
  "\n\t    Example:",
  "\t     curl --post301 --location -d \"data\" https://example.com",
  "\n\t    See also --post302, --post303 and --location.",
  "\n    --post302",
  "\t    (HTTP) Respect RFC  7231/6.4.3 and  do not  convert POST  requests",
  "\t    into GET  requests  when following  a  302 redirect.  The  non-RFC",
  "\t    behavior  is  ubiquitous  in  web  browsers,  so  curl  does   the",
  "\t    conversion by default to  maintain consistency. However, a  server",
  "\t    may require  a POST to  remain a  POST after  such a  redirection.",
  "\t    This option is meaningful only when using --location.",
  "\n\t    Providing --post302 multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-post302.",
  "\n\t    Example:",
  "\t     curl --post302 --location -d \"data\" https://example.com",
  "\n\t    See also --post301, --post303 and --location.",
  "\n    --post303",
  "\t    (HTTP) Violate RFC  7231/6.4.4 and  do not  convert POST  requests",
  "\t    into GET  requests  when  following 303  redirect.  A  server  may",
  "\t    require a  POST to remain  a POST  after a  303 redirection.  This",
  "\t    option is meaningful only when using --location.",
  "\n\t    Providing --post303 multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-post303.",
  "\n\t    Example:",
  "\t     curl --post303 --location -d \"data\" https://example.com",
  "\n\t    See also --post302, --post301 and --location.",
  "\n    --preproxy [protocol://]host[:port]",
  "\t    Use the  specified SOCKS  proxy before  connecting to  an HTTP  or",
  "\t    HTTPS --proxy. In  such a case  curl first  connects to the  SOCKS",
  "\t    proxy and  then connects  (through  SOCKS) to  the HTTP  or  HTTPS",
  "\t    proxy. Hence pre proxy.",
  "\n\t    The pre  proxy  string  should be  specified  with  a  protocol://",
  "\t    prefix to  specify  alternative proxy  protocols.  Use  socks4://,",
  "\t    socks4a://, socks5:// or socks5h:// to request the specific  SOCKS",
  "\t    version to be used.  No protocol specified  makes curl default  to",
  "\t    SOCKS4.",
  "\n\t    If the port  number is not  specified in the  proxy string, it  is",
  "\t    assumed to be 1080.",
  "\n\t    User and password that might  be provided in the proxy string  are",
  "\t    URL  decoded  by  curl.  This  allows  you  to  pass   in  special",
  "\t    characters such as @ by using %40 or pass in a colon with %3a.",
  "\n\t    If --preproxy is  provided several  times, the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --preproxy socks5://proxy.example -x http://http.example https://example.com",
  "\n\t    See also --proxy and --socks5. Added in 7.52.0.",
  "\n    -#, --progress-bar",
  "\t    Make curl  display  transfer progress  as  a simple  progress  bar",
  "\t    instead of the standard, more informational, meter.",
  "\n\t    This progress bar  draws a  single line of  '#' characters  across",
  "\t    the screen and shows a  percentage if the transfer size is  known.",
  "\t    For transfers without a known size, there is a space  ship (-=o=-)",
  "\t    that  moves  back  and  forth   but  only  while  data  is   being",
  "\t    transferred, with a set of flying hash sign symbols on top.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing --progress-bar  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-progress-bar.",
  "\n\t    Example:",
  "\t     curl -# -O https://example.com",
  "\n\t    See also --styled-output.",
  "\n    --proto-default <protocol>",
  "\t    Use protocol for any provided URL missing a scheme.",
  "\n\t    An    unknown    or    unsupported    protocol    causes     error",
  "\t    CURLE_UNSUPPORTED_PROTOCOL.",
  "\n\t    This option does not change the default proxy protocol (http).",
  "\n\t    Without this  option  set,  curl guesses  protocol  based  on  the",
  "\t    hostname, see --url for details.",
  "\n\t    If --proto-default is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proto-default https ftp.example.com",
  "\n\t    See also --proto and --proto-redir.",
  "\n    --proto-redir <protocols>",
  "\t    Limit what protocols  to allow on  redirects. Protocols denied  by",
  "\t    --proto are not  overridden by  this option. See  --proto for  how",
  "\t    protocols are represented.",
  "\n\t    Example, allow only HTTP and HTTPS on redirect:",
  "\n\t\tcurl --proto-redir -all,http,https http://example.com",
  "\n\t    By  default  curl  only  allows  HTTP,  HTTPS,  FTP  and  FTPS  on",
  "\t    redirects (added in  7.65.2). Specifying all  or +all enables  all",
  "\t    protocols on redirects, which is not good for security.",
  "\n\t    If --proto-redir is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --proto-redir =http,https https://example.com",
  "\n\t    See also --proto.",
  "\n    --proto <protocols>",
  "\t    Limit  what  protocols  to  allow  for  transfers.  Protocols  are",
  "\t    evaluated left  to right,  are  comma separated,  and are  each  a",
  "\t    protocol name  or  'all',  optionally prefixed  by  zero  or  more",
  "\t    modifiers. Available modifiers are:",
  "\n\t    +",
  "\n\t\tPermit  this  protocol  in   addition  to  protocols   already",
  "\t\tpermitted (this is the default if no modifier is used).",
  "\n\t    -",
  "\n\t\tDeny this protocol,  removing it  from the  list of  protocols",
  "\t\talready permitted.",
  "\n\t    =",
  "\n\t\tPermit  only  this   protocol  (ignoring   the  list   already",
  "\t\tpermitted),  though   subject   to   later   modification   by",
  "\t\tsubsequent entries in the comma separated list.",
  "\n\t.RE .IP",
  "\n\t\tFor example:  --proto -ftps  uses the  default protocols,  but",
  "\t\tdisables ftps",
  "\n\t\t--proto -all,https,+http only enables http and https",
  "\n\t\t--proto =http,https also only enables http and https",
  "\n\t\tUnknown and disabled protocols produce a warning. This  allows",
  "\t\tscripts to safely  rely on being  able to disable  potentially",
  "\t\tdangerous protocols,  without relying  upon support  for  that",
  "\t\tprotocol being built into curl to avoid an error.",
  "\n\t\tThis option  can be  used multiple  times, in  which case  the",
  "\t\teffect is the  same as  concatenating the  protocols into  one",
  "\t\tinstance of the option.",
  "\n\t    If --proto is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --proto =http,https,sftp https://example.com",
  "\n\t    See also --proto-redir and --proto-default.",
  "\n    --proxy-anyauth",
  "\t    Automatically  pick   a   suitable  authentication   method   when",
  "\t    communicating with  the  given HTTP  proxy.  This might  cause  an",
  "\t    extra request/response round-trip.",
  "\n\t    Providing --proxy-anyauth multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy-anyauth --proxy-user user:passwd -x proxy https://example.com",
  "\n\t    See also --proxy, --proxy-basic and --proxy-digest.",
  "\n    --proxy-basic",
  "\t    Use HTTP Basic  authentication when communicating  with the  given",
  "\t    proxy. Use --basic  for enabling  HTTP Basic with  a remote  host.",
  "\t    Basic  is  the  default  authentication  method  curl  uses   with",
  "\t    proxies.",
  "\n\t    Providing --proxy-basic multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy-basic --proxy-user user:passwd -x proxy https://example.com",
  "\n\t    See also --proxy, --proxy-anyauth and --proxy-digest.",
  "\n    --proxy-ca-native",
  "\t    (TLS) Use the CA store from the native operating system  to verify",
  "\t    the HTTPS proxy. By  default, curl uses a  CA store provided in  a",
  "\t    single  file  or  directory,  but   when  using  this  option   it",
  "\t    interfaces the operating system's own vault.",
  "\n\t    This option works for curl  on Windows when built to use  OpenSSL,",
  "\t    wolfSSL (added in 8.3.0) or GnuTLS (added in 8.5.0). When  curl on",
  "\t    Windows is  built to  use Schannel,  this feature  is implied  and",
  "\t    curl then only uses the native CA store.",
  "\n\t    Providing --proxy-ca-native multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-proxy-ca-native.",
  "\n\t    Example:",
  "\t     curl --ca-native https://example.com",
  "\n\t    See also --cacert, --capath and --insecure. Added in 8.2.0.",
  "\n    --proxy-cacert <file>",
  "\t    Same as --cacert but used in HTTPS proxy context.",
  "\n\t    If --proxy-cacert is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proxy-cacert CA-file.txt -x https://proxy https://example.com",
  "\n\t    See also --proxy-capath, --cacert, --capath and --proxy. Added  in",
  "\t    7.52.0.",
  "\n    --proxy-capath <dir>",
  "\t    Same as --capath but used in HTTPS proxy context.",
  "\n\t    Use the  specified  certificate  directory to  verify  the  proxy.",
  "\t    Multiple paths  can  be provided  by  separated with  colon  (\":\")",
  "\t    (e.g.  \"path1:path2:path3\").  The  certificates  must  be  in  PEM",
  "\t    format, and if curl is  built against OpenSSL, the directory  must",
  "\t    have been  processed  using  the c_rehash  utility  supplied  with",
  "\t    OpenSSL. Using --proxy-capath  can allow  OpenSSL-powered curl  to",
  "\t    make   SSL-connections   much   more   efficiently   than    using",
  "\t    --proxy-cacert  if  the  --proxy-cacert  file  contains  many   CA",
  "\t    certificates.",
  "\n\t    If this option is set, the default capath value is ignored.",
  "\n\t    If --proxy-capath is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proxy-capath /local/directory -x https://proxy https://example.com",
  "\n\t    See also --proxy-cacert, --proxy and --capath. Added in 7.52.0.",
  "\n    --proxy-cert-type <type>",
  "\t    Same as --cert-type but used in HTTPS proxy context.",
  "\n\t    If --proxy-cert-type  is  provided  several times,  the  last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com",
  "\n\t    See also --proxy-cert. Added in 7.52.0.",
  "\n    --proxy-cert <cert[:passwd]>",
  "\t    Same as --cert but used in HTTPS proxy context.",
  "\n\t    If --proxy-cert is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --proxy-cert file -x https://proxy https://example.com",
  "\n\t    See also --proxy-cert-type. Added in 7.52.0.",
  "\n    --proxy-ciphers <list>",
  "\t    Same as --ciphers but used in HTTPS proxy context.",
  "\n\t    Specifies which  ciphers to  use in  the connection  to the  HTTPS",
  "\t    proxy. The list of ciphers must specify valid ciphers. Read  up on",
  "\t    SSL cipher list details on this URL:",
  "\n\t    https://curl.se/docs/ssl-ciphers.html",
  "\n\t    If --proxy-ciphers is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy https://example.com",
  "\n\t    See also --ciphers, --curves and --proxy. Added in 7.52.0.",
  "\n    --proxy-crlfile <file>",
  "\t    Same as --crlfile but used in HTTPS proxy context.",
  "\n\t    If --proxy-crlfile is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proxy-crlfile rejects.txt -x https://proxy https://example.com",
  "\n\t    See also --crlfile and --proxy. Added in 7.52.0.",
  "\n    --proxy-digest",
  "\t    Use HTTP Digest authentication  when communicating with the  given",
  "\t    proxy. Use --digest for enabling HTTP Digest with a remote host.",
  "\n\t    Providing --proxy-digest multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy-digest --proxy-user user:passwd -x proxy https://example.com",
  "\n\t    See also --proxy, --proxy-anyauth and --proxy-basic.",
  "\n    --proxy-header <header/@file>",
  "\t    (HTTP) Extra header to  include in the  request when sending  HTTP",
  "\t    to a proxy. You may specify  any number of extra headers. This  is",
  "\t    the equivalent option to --header  but is for proxy  communication",
  "\t    only like  in CONNECT  requests when  you want  a separate  header",
  "\t    sent to the proxy to what is sent to the actual remote host.",
  "\n\t    curl makes sure that each header you add/replace is sent  with the",
  "\t    proper end-of-line marker, you should thus not add that as  a part",
  "\t    of the header content:  do not add  newlines or carriage  returns,",
  "\t    they only mess things up for you.",
  "\n\t    Headers specified with  this option are  not included in  requests",
  "\t    that curl knows are not be sent to a proxy.",
  "\n\t    This option can take  an argument in  @filename style, which  then",
  "\t    adds a header for each line  in the input file (added in  7.55.0).",
  "\t    Using @- makes curl read the headers from stdin.",
  "\n\t    This option  can  be  used multiple  times  to  add/replace/remove",
  "\t    multiple headers.",
  "\n\t    --proxy-header can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl --proxy-header \"X-First-Name: Joe\" -x http://proxy https://example.com",
  "\t     curl --proxy-header \"User-Agent: surprise\" -x http://proxy https://example.com",
  "\t     curl --proxy-header \"Host:\" -x http://proxy https://example.com",
  "\n\t    See also --proxy.",
  "\n    --proxy-http2",
  "\t    (HTTP) Negotiate  HTTP/2  with an  HTTPS  proxy. The  proxy  might",
  "\t    still only  offer  HTTP/1  and  then curl  sticks  to  using  that",
  "\t    version.",
  "\n\t    This has no effect for any other kinds of proxies.",
  "\n\t    Providing  --proxy-http2  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-proxy-http2.",
  "\n\t    Example:",
  "\t     curl --proxy-http2 -x proxy https://example.com",
  "\n\t    See also  --proxy.  --proxy-http2  requires  that  the  underlying",
  "\t    libcurl was built to support HTTP/2. Added in 8.1.0.",
  "\n    --proxy-insecure",
  "\t    Same as --insecure but used in HTTPS proxy context.",
  "\n\t    Every secure  connection  curl  makes is  verified  to  be  secure",
  "\t    before the transfer takes place.  This option makes curl skip  the",
  "\t    verification step with a proxy and proceed without checking.",
  "\n\t    When this  option  is  not used  for  a proxy  using  HTTPS,  curl",
  "\t    verifies the  proxy's TLS  certificate before  it continues:  that",
  "\t    the  certificate  contains  the  right  name  which  matches   the",
  "\t    hostname  and that  the  certificate  has  been  signed  by  a  CA",
  "\t    certificate present in  the cert store.  See this online  resource",
  "\t    for further details: https://curl.se/docs/sslcerts.html",
  "\n\t    WARNING: using  this  option  makes  the  transfer  to  the  proxy",
  "\t    insecure.",
  "\n\t    Providing --proxy-insecure  multiple times  has no  extra  effect.",
  "\t    Disable it again with --no-proxy-insecure.",
  "\n\t    Example:",
  "\t     curl --proxy-insecure -x https://proxy https://example.com",
  "\n\t    See also --proxy and --insecure. Added in 7.52.0.",
  "\n    --proxy-key-type <type>",
  "\t    Same as --key-type but used in HTTPS proxy context.",
  "\n\t    If --proxy-key-type is provided several times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com",
  "\n\t    See also --proxy-key and --proxy. Added in 7.52.0.",
  "\n    --proxy-key <key>",
  "\t    Same as --key but used in HTTPS proxy context.",
  "\n\t    If --proxy-key is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --proxy-key here -x https://proxy https://example.com",
  "\n\t    See also --proxy-key-type and --proxy. Added in 7.52.0.",
  "\n    --proxy-negotiate",
  "\t    Use HTTP  Negotiate  (SPNEGO)  authentication  when  communicating",
  "\t    with the given proxy. Use --negotiate for enabling HTTP  Negotiate",
  "\t    (SPNEGO) with a remote host.",
  "\n\t    Providing --proxy-negotiate multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy-negotiate --proxy-user user:passwd -x proxy https://example.com",
  "\n\t    See also --proxy-anyauth and --proxy-basic.",
  "\n    --proxy-ntlm",
  "\t    Use HTTP  NTLM authentication  when communicating  with the  given",
  "\t    proxy. Use --ntlm for enabling NTLM with a remote host.",
  "\n\t    Providing --proxy-ntlm multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy-ntlm --proxy-user user:passwd -x http://proxy https://example.com",
  "\n\t    See also --proxy-negotiate and --proxy-anyauth.",
  "\n    --proxy-pass <phrase>",
  "\t    Same as --pass but used in HTTPS proxy context.",
  "\n\t    If --proxy-pass is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --proxy-pass secret --proxy-key here -x https://proxy https://example.com",
  "\n\t    See also --proxy and --proxy-key. Added in 7.52.0.",
  "\n    --proxy-pinnedpubkey <hashes>",
  "\t    (TLS) Use the specified public key file (or hashes) to  verify the",
  "\t    proxy. This  can be  a  path to  a file  which contains  a  single",
  "\t    public key in PEM or DER  format, or any number of base64  encoded",
  "\t    sha256 hashes preceded by 'sha256//' and separated by ';'.",
  "\n\t    When negotiating  a TLS  or  SSL connection,  the server  sends  a",
  "\t    certificate indicating  its identity.  A public  key is  extracted",
  "\t    from this certificate and if it does not exactly match  the public",
  "\t    key provided to  this option,  curl aborts  the connection  before",
  "\t    sending or receiving any data.",
  "\n\t    If --proxy-pinnedpubkey is  provided several times,  the last  set",
  "\t    value is used.",
  "\n\t    Examples:",
  "\t     curl --proxy-pinnedpubkey keyfile https://example.com",
  "\t     curl --proxy-pinnedpubkey 'sha256//ce118b51897f4452dc' https://example.com",
  "\n\t    See also --pinnedpubkey and --proxy. Added in 7.59.0.",
  "\n    --proxy-service-name <name>",
  "\t    Set the service name for proxy negotiation.",
  "\n\t    If --proxy-service-name is  provided several times,  the last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --proxy-service-name \"shrubbery\" -x proxy https://example.com",
  "\n\t    See also --service-name and --proxy.",
  "\n    --proxy-ssl-allow-beast",
  "\t    Same as --ssl-allow-beast but used in HTTPS proxy context.",
  "\n\t    Providing --proxy-ssl-allow-beast  multiple  times  has  no  extra",
  "\t    effect. Disable it again with --no-proxy-ssl-allow-beast.",
  "\n\t    Example:",
  "\t     curl --proxy-ssl-allow-beast -x https://proxy https://example.com",
  "\n\t    See also --ssl-allow-beast and --proxy. Added in 7.52.0.",
  "\n    --proxy-ssl-auto-client-cert",
  "\t    Same as --ssl-auto-client-cert but used in HTTPS proxy context.",
  "\n\t    This is only supported by Schannel.",
  "\n\t    Providing  --proxy-ssl-auto-client-cert  multiple  times  has   no",
  "\t    extra       effect.       Disable       it       again\twith",
  "\t    --no-proxy-ssl-auto-client-cert.",
  "\n\t    Example:",
  "\t     curl --proxy-ssl-auto-client-cert -x https://proxy https://example.com",
  "\n\t    See also --ssl-auto-client-cert and --proxy. Added in 7.77.0.",
  "\n    --proxy-tls13-ciphers <ciphersuite list>",
  "\t    (TLS) Specify  which cipher  suites to  use in  the connection  to",
  "\t    your HTTPS proxy when it  negotiates TLS 1.3. The list of  ciphers",
  "\t    suites must  specify valid  ciphers.  Read up  on TLS  1.3  cipher",
  "\t    suite details on this URL:",
  "\n\t    https://curl.se/docs/ssl-ciphers.html",
  "\n\t    This option  is currently  used only  when curl  is  built to  use",
  "\t    OpenSSL 1.1.1 or later. If  you are using a different SSL  backend",
  "\t    you  can  try  setting  TLS   1.3  cipher  suites  by  using   the",
  "\t    --proxy-ciphers option.",
  "\n\t    If --proxy-tls13-ciphers is provided  several times, the last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com",
  "\n\t    See also --tls13-ciphers, --curves  and --proxy-ciphers. Added  in",
  "\t    7.61.0.",
  "\n    --proxy-tlsauthtype <type>",
  "\t    Same as --tlsauthtype but used in HTTPS proxy context.",
  "\n\t    If --proxy-tlsauthtype  is provided  several times,  the last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --proxy-tlsauthtype SRP -x https://proxy https://example.com",
  "\n\t    See also --proxy and --proxy-tlsuser. Added in 7.52.0.",
  "\n    --proxy-tlspassword <string>",
  "\t    Same as --tlspassword but used in HTTPS proxy context.",
  "\n\t    If --proxy-tlspassword  is provided  several times,  the last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --proxy-tlspassword passwd -x https://proxy https://example.com",
  "\n\t    See also --proxy and --proxy-tlsuser. Added in 7.52.0.",
  "\n    --proxy-tlsuser <name>",
  "\t    Same as --tlsuser but used in HTTPS proxy context.",
  "\n\t    If --proxy-tlsuser is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --proxy-tlsuser smith -x https://proxy https://example.com",
  "\n\t    See also --proxy and --proxy-tlspassword. Added in 7.52.0.",
  "\n    --proxy-tlsv1",
  "\t    Same as --tlsv1 but used in HTTPS proxy context.",
  "\n\t    Providing --proxy-tlsv1 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy-tlsv1 -x https://proxy https://example.com",
  "\n\t    See also --proxy. Added in 7.52.0.",
  "\n    -U, --proxy-user <user:password>",
  "\t    Specify   the   username   and   password   to   use   for   proxy",
  "\t    authentication.",
  "\n\t    If you  use  a Windows  SSPI-enabled  curl binary  and  do  either",
  "\t    Negotiate or NTLM authentication then you can tell curl to  select",
  "\t    the username and  password from your  environment by specifying  a",
  "\t    single colon with this option: \"-U :\".",
  "\n\t    On systems where it  works, curl hides  the given option  argument",
  "\t    from process listings. This is  not enough to protect  credentials",
  "\t    from possibly getting seen  by other users  on the same system  as",
  "\t    they  still  are  visible  for  a  moment  before  cleared.   Such",
  "\t    sensitive data should be retrieved from a file instead or  similar",
  "\t    and never used in clear text in a command line.",
  "\n\t    If --proxy-user is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --proxy-user smith:secret -x proxy https://example.com",
  "\n\t    See also --proxy-pass.",
  "\n    -x, --proxy [protocol://]host[:port]",
  "\t    Use the specified proxy.",
  "\n\t    The proxy string can  be specified with  a protocol:// prefix.  No",
  "\t    protocol specified or http:// it is treated as an HTTP  proxy. Use",
  "\t    socks4://,  socks4a://,  socks5://  or  socks5h://  to  request  a",
  "\t    specific SOCKS version to be used.",
  "\n\t    Unix domain sockets are supported  for socks proxy. Set  localhost",
  "\t    for the host part. e.g. socks5h://localhost/path/to/socket.sock",
  "\n\t    HTTPS proxy support  works set with  the https:// protocol  prefix",
  "\t    for OpenSSL  and  GnuTLS (added  in  7.52.0). It  also  works  for",
  "\t    BearSSL, mbedTLS, rustls, Schannel,  Secure Transport and  wolfSSL",
  "\t    (added in 7.87.0).",
  "\n\t    Unrecognized  and  unsupported  proxy  protocols  cause  an  error",
  "\t    (added in 7.52.0). Ancient  curl versions ignored unknown  schemes",
  "\t    and used http:// instead.",
  "\n\t    If the port  number is not  specified in the  proxy string, it  is",
  "\t    assumed to be 1080.",
  "\n\t    This option overrides existing environment variables that set  the",
  "\t    proxy to  use.  If there  is  an environment  variable  setting  a",
  "\t    proxy, you can set proxy to \"\" to override it.",
  "\n\t    All  operations  that  are  performed  over  an  HTTP  proxy   are",
  "\t    transparently converted to  HTTP. It means  that certain  protocol",
  "\t    specific operations might not be  available. This is not the  case",
  "\t    if  you  can   tunnel  through   the  proxy,  as   one  with   the",
  "\t    --proxytunnel option.",
  "\n\t    User and password that might  be provided in the proxy string  are",
  "\t    URL  decoded  by  curl.  This  allows  you  to  pass   in  special",
  "\t    characters such as @ by using %40 or pass in a colon with %3a.",
  "\n\t    The proxy  host  can  be  specified  the same  way  as  the  proxy",
  "\t    environment variables,  including  the protocol  prefix  (http://)",
  "\t    and the embedded user + password.",
  "\n\t    When a proxy is used, the active FTP mode as set  with --ftp-port,",
  "\t    cannot be used.",
  "\n\t    If --proxy is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --proxy http://proxy.example https://example.com",
  "\n\t    See also --socks5 and --proxy-basic.",
  "\n    --proxy1.0 <host[:port]>",
  "\t    Use the  specified  HTTP 1.0  proxy. If  the  port number  is  not",
  "\t    specified, it is assumed at port 1080.",
  "\n\t    The only  difference  between  this  and  the  HTTP  proxy  option",
  "\t    --proxy, is  that  attempts  to  use  CONNECT  through  the  proxy",
  "\t    specifies an HTTP 1.0 protocol instead of the default HTTP 1.1.",
  "\n\t    Providing --proxy1.0 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --proxy1.0 http://proxy https://example.com",
  "\n\t    See also --proxy, --socks5 and --preproxy.",
  "\n    -p, --proxytunnel",
  "\t    When an HTTP proxy is used --proxy, this option makes  curl tunnel",
  "\t    the traffic through the  proxy. The tunnel  approach is made  with",
  "\t    the HTTP proxy CONNECT request and requires that the proxy  allows",
  "\t    direct connect  to the  remote port  number curl  wants to  tunnel",
  "\t    through to.",
  "\n\t    To suppress proxy  CONNECT response  headers when curl  is set  to",
  "\t    output headers use --suppress-connect-headers.",
  "\n\t    Providing  --proxytunnel  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-proxytunnel.",
  "\n\t    Example:",
  "\t     curl --proxytunnel -x http://proxy https://example.com",
  "\n\t    See also --proxy.",
  "\n    --pubkey <key>",
  "\t    (SFTP SCP) Public key filename. Allows you to provide your  public",
  "\t    key in this separate file.",
  "\n\t    curl attempts to  automatically extract  the public  key from  the",
  "\t    private  key  file,  so  passing  this  option  is  generally  not",
  "\t    required. Note that  this public key  extraction requires  libcurl",
  "\t    to be linked  against a copy  of libssh2 1.2.8  or higher that  is",
  "\t    itself linked against OpenSSL.",
  "\n\t    If --pubkey  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --pubkey file.pub sftp://example.com/",
  "\n\t    See also --pass.",
  "\n    -Q, --quote <command>",
  "\t    (FTP SFTP) Send  an arbitrary command  to the  remote FTP or  SFTP",
  "\t    server. Quote commands  are sent BEFORE  the transfer takes  place",
  "\t    (just after  the initial PWD  command in  an FTP  transfer, to  be",
  "\t    exact). To make commands take  place after a successful  transfer,",
  "\t    prefix them with a dash '-'.",
  "\n\t    (FTP only) To  make commands be  sent after  curl has changed  the",
  "\t    working directory,  just  before  the  file  transfer  command(s),",
  "\t    prefix the  command  with a  '+'. This  is  not performed  when  a",
  "\t    directory listing is performed.",
  "\n\t    You may specify any number of commands.",
  "\n\t    By default  curl stops  at first  failure. To  make curl  continue",
  "\t    even if the  command fails,  prefix the command  with an  asterisk",
  "\t    (*). Otherwise,  if the  server  returns failure  for one  of  the",
  "\t    commands, the entire operation is aborted.",
  "\n\t    You must  send  syntactically  correct FTP  commands  as  RFC  959",
  "\t    defines to FTP  servers, or one  of the  commands listed below  to",
  "\t    SFTP servers.",
  "\n\t    SFTP is a binary  protocol. Unlike for  FTP, curl interprets  SFTP",
  "\t    quote  commands  itself  before   sending  them  to  the   server.",
  "\t    Filenames may be  quoted shell-style  to embed  spaces or  special",
  "\t    characters. Following  is the  list of  all supported  SFTP  quote",
  "\t    commands:",
  "\n\t    atime date file",
  "\n\t\tThe atime command sets the last access time of the  file named",
  "\t\tby the file operand. The  date expression can be all sorts  of",
  "\t\tdate strings,  see  the  curl_getdate(3)  man  page  for  date",
  "\t\texpression details. (Added in 7.73.0)",
  "\n\t    chgrp group file",
  "\n\t\tThe chgrp command sets the group  ID of the file named by  the",
  "\t\tfile operand to the group  ID specified by the group  operand.",
  "\t\tThe group operand is a decimal integer group ID.",
  "\n\t    chmod mode file",
  "\n\t\tThe  chmod  command  modifies  the  file  mode  bits  of   the",
  "\t\tspecified file.  The mode  operand is  an octal  integer  mode",
  "\t\tnumber.",
  "\n\t    chown user file",
  "\n\t\tThe chown  command sets the  owner of  the file  named by  the",
  "\t\tfile operand to  the user  ID specified by  the user  operand.",
  "\t\tThe user operand is a decimal integer user ID.",
  "\n\t    ln source_file target_file",
  "\n\t\tThe ln  and symlink  commands create  a symbolic  link at  the",
  "\t\ttarget_file location pointing to the source_file location.",
  "\n\t    mkdir directory_name",
  "\n\t\tThe  mkdir  command  creates   the  directory  named  by   the",
  "\t\tdirectory_name operand.",
  "\n\t    mtime date file",
  "\n\t\tThe mtime command sets the last modification time of the  file",
  "\t\tnamed by  the file  operand. The  date expression  can be  all",
  "\t\tsorts of date  strings, see the  curl_getdate(3) man page  for",
  "\t\tdate expression details. (Added in 7.73.0)",
  "\n\t    pwd",
  "\n\t\tThe pwd command returns the absolute path name of the  current",
  "\t\tworking directory.",
  "\n\t    rename source target",
  "\n\t\tThe rename command renames the file or directory named by  the",
  "\t\tsource operand to  the destination  path named  by the  target",
  "\t\toperand.",
  "\n\t    rm file",
  "\n\t\tThe  rm  command  removes  the  file  specified  by  the  file",
  "\t\toperand.",
  "\n\t    rmdir directory",
  "\n\t\tThe rmdir  command removes  the directory  entry specified  by",
  "\t\tthe directory operand, provided it is empty.",
  "\n\t    symlink source_file target_file",
  "\n\t\tSee ln.",
  "\n\t    --quote can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --quote \"DELE file\" ftp://example.com/foo",
  "\n\t    See also --request.",
  "\n    --random-file <file>",
  "\t    Deprecated option.  This  option  is ignored  (added  in  7.84.0).",
  "\t    Prior to that it only  had an effect on  curl if built to use  old",
  "\t    versions of OpenSSL.",
  "\n\t    Specify the path  name to  file containing random  data. The  data",
  "\t    may be used to seed the random engine for SSL connections.",
  "\n\t    If --random-file is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --random-file rubbish https://example.com",
  "\n\t    See also --egd-file.",
  "\n    -r, --range <range>",
  "\t    (HTTP FTP  SFTP  FILE)  Retrieve  a byte  range  (i.e.  a  partial",
  "\t    document) from an HTTP/1.1,  FTP or SFTP  server or a local  FILE.",
  "\t    Ranges can be specified in a number of ways.",
  "\n\t    0-499",
  "\n\t\tspecifies the first 500 bytes",
  "\n\t    500-999",
  "\n\t\tspecifies the second 500 bytes",
  "\n\t    -500",
  "\n\t\tspecifies the last 500 bytes",
  "\n\t    9500-",
  "\n\t\tspecifies the bytes from offset 9500 and forward",
  "\n\t    0-0,-1",
  "\n\t\tspecifies the first and last byte only(*)(HTTP)",
  "\n\t    100-199,500-599",
  "\n\t\tspecifies two separate 100-byte ranges(*) (HTTP)",
  "\n\t.RE .IP",
  "\n\t\t(*) = NOTE that these  make the server reply with a  multipart",
  "\t\tresponse,  which  is  returned  as-is  by  curl!  Parsing   or",
  "\t\totherwise transforming this response is the responsibility  of",
  "\t\tthe caller.",
  "\n\t\tOnly digit  characters  (0-9) are  valid  in the  'start'  and",
  "\t\t'stop'  fields  of  the   'start-stop'  range  syntax.  If   a",
  "\t\tnon-digit character  is  given  in  the  range,  the  server's",
  "\t\tresponse   is   unspecified,   depending   on   the   server's",
  "\t\tconfiguration.",
  "\n\t\tMany HTTP/1.1 servers  do not  have this  feature enabled,  so",
  "\t\tthat when you attempt  to get a  range, curl instead gets  the",
  "\t\twhole document.",
  "\n\t\tFTP  and  SFTP  range   downloads  only  support  the   simple",
  "\t\t'start-stop'  syntax  (optionally  with  one  of  the  numbers",
  "\t\tomitted). FTP use depends on the extended FTP command SIZE.",
  "\n\t    If --range is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --range 22-44 https://example.com",
  "\n\t    See also --continue-at and --append.",
  "\n    --rate <max request rate>",
  "\t    Specify the maximum transfer frequency you allow curl to use  - in",
  "\t    number of transfer starts per time unit (sometimes called  request",
  "\t    rate). Without this option, curl starts the next transfer as  fast",
  "\t    as possible.",
  "\n\t    If given several  URLs and  a transfer completes  faster than  the",
  "\t    allowed rate, curl  waits until  the next transfer  is started  to",
  "\t    maintain the  requested  rate.  This option  has  no  effect  when",
  "\t    --parallel is used.",
  "\n\t    The request  rate  is provided  as \"N/U\"  where  N is  an  integer",
  "\t    number and U  is a time  unit. Supported  units are 's'  (second),",
  "\t    'm' (minute), 'h'  (hour) and 'd'  /(day, as in  a 24 hour  unit).",
  "\t    The default  time  unit, if  no \"/U\"  is  provided, is  number  of",
  "\t    transfers per hour.",
  "\n\t    If curl  is told  to allow  10 requests  per minute,  it does  not",
  "\t    start the  next request  until 6  seconds have  elapsed since  the",
  "\t    previous transfer was started.",
  "\n\t    This  function  uses  millisecond   resolution.  If  the   allowed",
  "\t    frequency is  set  more than  1000  per second,  it  instead  runs",
  "\t    unrestricted.",
  "\n\t    When retrying transfers, enabled with --retry, the separate  retry",
  "\t    delay logic is used and not this setting.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    If --rate is provided several times, the last set value is used.",
  "\n\t    Examples:",
  "\t     curl --rate 2/s https://example.com ...",
  "\t     curl --rate 3/h https://example.com ...",
  "\t     curl --rate 14/m https://example.com ...",
  "\n\t    See also --limit-rate and --retry-delay. Added in 7.84.0.",
  "\n    --raw",
  "\t    (HTTP) When  used,  it  disables all  internal  HTTP  decoding  of",
  "\t    content or transfer  encodings and  instead makes  them passed  on",
  "\t    unaltered, raw.",
  "\n\t    Providing --raw multiple  times has  no extra  effect. Disable  it",
  "\t    again with --no-raw.",
  "\n\t    Example:",
  "\t     curl --raw https://example.com",
  "\n\t    See also --tr-encoding.",
  "\n    -e, --referer <URL>",
  "\t    (HTTP) Set the referrer URL in the HTTP request. This can  also be",
  "\t    set with the --header  flag of course.  When used with  --location",
  "\t    you  can append  \";auto\"\"  to  the  --referer  URL  to  make  curl",
  "\t    automatically set the  previous URL  when it  follows a  Location:",
  "\t    header. The \";auto\" string can be  used alone, even if you do  not",
  "\t    set an initial --referer.",
  "\n\t    If --referer  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl --referer \"https://fake.example\" https://example.com",
  "\t     curl --referer \"https://fake.example;auto\" -L https://example.com",
  "\t     curl --referer \";auto\" -L https://example.com",
  "\n\t    See also --user-agent and --header.",
  "\n    -J, --remote-header-name",
  "\t    (HTTP) Tell the --remote-name  option to use the  server-specified",
  "\t    Content-Disposition filename  instead  of  extracting  a  filename",
  "\t    from the URL.  If the  server-provided filename  contains a  path,",
  "\t    that is stripped off before the filename is used.",
  "\n\t    The file is saved  in the current  directory, or in the  directory",
  "\t    specified with --output-dir.",
  "\n\t    If the  server specifies  a filename  and a  file  with that  name",
  "\t    already  exists   in  the   destination  directory,   it  is   not",
  "\t    overwritten and an  error occurs -  unless you  allow it by  using",
  "\t    the --clobber option. If  the server does  not specify a  filename",
  "\t    then this option has no effect.",
  "\n\t    There is no attempt  to decode %-sequences  (yet) in the  provided",
  "\t    filename, so this  option may provide  you with rather  unexpected",
  "\t    filenames.",
  "\n\t    This feature uses the name from the \"filename\" field, it  does not",
  "\t    yet  support  the  \"filename*\"  field  (filenames  with   explicit",
  "\t    character sets).",
  "\n\t    WARNING: Exercise  judicious use  of  this option,  especially  on",
  "\t    Windows. A rogue server could send you the name of a DLL  or other",
  "\t    file that could be loaded  automatically by Windows or some  third",
  "\t    party software.",
  "\n\t    Providing  --remote-header-name  multiple   times  has  no   extra",
  "\t    effect. Disable it again with --no-remote-header-name.",
  "\n\t    Example:",
  "\t     curl -OJ https://example.com/file",
  "\n\t    See also --remote-name.",
  "\n    --remote-name-all",
  "\t    Change the default action for all  given URLs to be dealt with  as",
  "\t    if --remote-name were used  for each one.  If you want to  disable",
  "\t    that for a  specific URL  after --remote-name-all  has been  used,",
  "\t    you must use \"-o -\" or --no-remote-name.",
  "\n\t    Providing --remote-name-all multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-remote-name-all.",
  "\n\t    Example:",
  "\t     curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2",
  "\n\t    See also --remote-name.",
  "\n    -O, --remote-name",
  "\t    Write output to a  local file named like  the remote file we  get.",
  "\t    (Only the file part  of the remote file is  used, the path is  cut",
  "\t    off.)",
  "\n\t    The file is saved  in the current  working directory. If you  want",
  "\t    the file saved in a different directory, make sure you  change the",
  "\t    current working directory  before invoking curl  with this  option",
  "\t    or use --output-dir.",
  "\n\t    The remote filename to use for saving is extracted from  the given",
  "\t    URL, nothing else, and if it already exists it is  overwritten. If",
  "\t    you want the  server to be  able to choose  the filename refer  to",
  "\t    --remote-header-name  which  can  be  used  in  addition  to  this",
  "\t    option. If the  server chooses  a filename and  that name  already",
  "\t    exists it is not overwritten.",
  "\n\t    There is no URL  decoding done on the filename.  If it has %20  or",
  "\t    other URL  encoded  parts  of  the  name, they  end  up  as-is  as",
  "\t    filename.",
  "\n\t    You may use this  option as many times as  the number of URLs  you",
  "\t    have.",
  "\n\t    --remote-name can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl -O https://example.com/filename",
  "\n\t    See      also       --remote-name-all,      --output-dir       and",
  "\t    --remote-header-name.",
  "\n    -R, --remote-time",
  "\t    Makes curl attempt to figure out the timestamp of the  remote file",
  "\t    that is  getting downloaded,  and if  that is  available make  the",
  "\t    local file get that same timestamp.",
  "\n\t    Providing  --remote-time  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-remote-time.",
  "\n\t    Example:",
  "\t     curl --remote-time -o foo https://example.com",
  "\n\t    See also --remote-name and --time-cond.",
  "\n    --remove-on-error",
  "\t    Remove output file if  an error occurs.  If curl returns an  error",
  "\t    when told to save output in a local file. This prevents  curl from",
  "\t    leaving a partial file in the case of an error during transfer.",
  "\n\t    If the output is not a regular file, this option has no effect.",
  "\n\t    Providing --remove-on-error multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-remove-on-error.",
  "\n\t    Example:",
  "\t     curl --remove-on-error -o output https://example.com",
  "\n\t    See also --fail. Added in 7.83.0.",
  "\n    --request-target <path>",
  "\t    (HTTP) Use an alternative target (path) instead of using the  path",
  "\t    as provided in the URL. Particularly useful when wanting to  issue",
  "\t    HTTP requests without leading  slash or other  data that does  not",
  "\t    follow the regular URL pattern, like \"OPTIONS *\".",
  "\n\t    curl passes on  the verbatim string  you give  it its the  request",
  "\t    without any  filter  or other  safe  guards. That  includes  white",
  "\t    space and control characters.",
  "\n\t    If --request-target is provided several times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --request-target \"*\" -X OPTIONS https://example.com",
  "\n\t    See also --request. Added in 7.55.0.",
  "\n    -X, --request <method>",
  "\t    Change the method to use when starting the transfer.",
  "\n\t    curl passes on  the verbatim string  you give  it its the  request",
  "\t    without any  filter  or other  safe  guards. That  includes  white",
  "\t    space and control characters.",
  "\n\t    HTTP",
  "\n\t\tSpecifies a custom  request method to  use when  communicating",
  "\t\twith the HTTP  server. The  specified request  method is  used",
  "\t\tinstead of the method otherwise used (which defaults to  GET).",
  "\t\tRead the HTTP 1.1 specification for details and  explanations.",
  "\t\tCommon additional HTTP requests include PUT and DELETE,  while",
  "\t\trelated technologies like WebDAV  offers PROPFIND, COPY,  MOVE",
  "\t\tand more.",
  "\n\t\tNormally you do not need this option. All sorts of  GET, HEAD,",
  "\t\tPOST and PUT  requests are rather  invoked by using  dedicated",
  "\t\tcommand line options.",
  "\n\t\tThis option  only changes  the actual  word used  in the  HTTP",
  "\t\trequest, it does not alter  the way curl behaves. For  example",
  "\t\tif you want to make a proper HEAD request, using -X  HEAD does",
  "\t\tnot suffice. You need to use the --head option.",
  "\n\t\tThe method  string you  set  with --request  is used  for  all",
  "\t\trequests, which if  you for example  use --location may  cause",
  "\t\tunintended side-effects  when  curl does  not  change  request",
  "\t\tmethod  according  to  the  HTTP  30x  response  codes  -  and",
  "\t\tsimilar.",
  "\n\t    FTP",
  "\n\t\tSpecifies a custom  FTP command  to use instead  of LIST  when",
  "\t\tdoing file lists with FTP.",
  "\n\t    POP3",
  "\n\t\tSpecifies a  custom POP3  command to  use instead  of LIST  or",
  "\t\tRETR.",
  "\n\t    IMAP",
  "\n\t\tSpecifies a custom IMAP command to use instead of LIST.",
  "\n\t    SMTP",
  "\n\t\tSpecifies a  custom SMTP  command to  use instead  of HELP  or",
  "\t\tVRFY.",
  "\n\t    If --request  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl -X \"DELETE\" https://example.com",
  "\t     curl -X NLST ftp://example.com/",
  "\n\t    See also --request-target.",
  "\n    --resolve <[+]host:port:addr[,addr]...>",
  "\t    Provide a custom address for a specific host and port  pair. Using",
  "\t    this, you can make  the curl requests(s)  use a specified  address",
  "\t    and prevent the  otherwise normally resolved  address to be  used.",
  "\t    Consider it  a  sort of  /etc/hosts  alternative provided  on  the",
  "\t    command line. The port  number should be  the number used for  the",
  "\t    specific protocol the host is used for. It means you  need several",
  "\t    entries if  you want  to provide  address for  the  same host  but",
  "\t    different ports.",
  "\n\t    By specifying \"*\" as  host you can tell  curl to resolve any  host",
  "\t    and specific  port  pair to  the  specified address.  Wildcard  is",
  "\t    resolved last so any  --resolve with a  specific host and port  is",
  "\t    used first.",
  "\n\t    The provided address set by this option is used even if  --ipv4 or",
  "\t    --ipv6 is set to make curl use another IP version.",
  "\n\t    By prefixing the host with a  '+' you can make the entry time  out",
  "\t    after curl's  default  timeout (1  minute).  Note that  this  only",
  "\t    makes sense  for long  running parallel  transfers with  a lot  of",
  "\t    files. In  such  cases,  if this  option  is used  curl  tries  to",
  "\t    resolve the  host  as  it  normally would  once  the  timeout  has",
  "\t    expired.",
  "\n\t    Support for providing the IP  address within [brackets] was  added",
  "\t    in 7.57.0.",
  "\n\t    Support for providing  multiple IP addresses  per entry was  added",
  "\t    in 7.59.0.",
  "\n\t    Support for resolving with wildcard was added in 7.64.0.",
  "\n\t    Support for the '+' prefix was added in 7.75.0.",
  "\n\t    --resolve can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --resolve example.com:443:127.0.0.1 https://example.com",
  "\n\t    See also --connect-to and --alt-svc.",
  "\n    --retry-all-errors",
  "\t    Retry on any error. This option is used together with --retry.",
  "\n\t    This option is  the \"sledgehammer\"  of retrying. Do  not use  this",
  "\t    option by  default (for  example  in your  curlrc), there  may  be",
  "\t    unintended consequences  such as  sending or  receiving  duplicate",
  "\t    data. Do not  use with redirected  input or  output. You might  be",
  "\t    better off  handling  your  unique problems  in  a  shell  script.",
  "\t    Please read the example below.",
  "\n\t    WARNING: For server  compatibility curl attempts  to retry  failed",
  "\t    flaky transfers as  close as  possible to how  they were  started,",
  "\t    but this  is not  possible with  redirected input  or output.  For",
  "\t    example, before  retrying it  removes output  data from  a  failed",
  "\t    partial transfer that was written to an output file. However  this",
  "\t    is not true of data  redirected to a |  pipe or > file, which  are",
  "\t    not reset. We strongly suggest  you do not parse or record  output",
  "\t    via redirect  in  combination  with this  option,  since  you  may",
  "\t    receive duplicate data.",
  "\n\t    By default curl does not  return error for transfers with an  HTTP",
  "\t    response code that indicates  an HTTP error,  if the transfer  was",
  "\t    successful. For example,  if a  server replies 404  Not Found  and",
  "\t    the reply  is  fully received  then that  is  not an  error.  When",
  "\t    --retry is  used then  curl retries  on some  HTTP response  codes",
  "\t    that indicate transient  HTTP errors,  but that  does not  include",
  "\t    most 4xx response codes such as  404. If you want to retry on  all",
  "\t    response codes  that  indicate  HTTP errors  (4xx  and  5xx)  then",
  "\t    combine with --fail.",
  "\n\t    Providing --retry-all-errors multiple times  has no extra  effect.",
  "\t    Disable it again with --no-retry-all-errors.",
  "\n\t    Example:",
  "\t     curl --retry 5 --retry-all-errors https://example.com",
  "\n\t    See also --retry. Added in 7.71.0.",
  "\n    --retry-connrefused",
  "\t    In addition to  the other conditions,  consider ECONNREFUSED as  a",
  "\t    transient error  too for  --retry. This  option is  used  together",
  "\t    with --retry.",
  "\n\t    Providing --retry-connrefused multiple times has no extra  effect.",
  "\t    Disable it again with --no-retry-connrefused.",
  "\n\t    Example:",
  "\t     curl --retry-connrefused --retry 7 https://example.com",
  "\n\t    See also --retry and --retry-all-errors. Added in 7.52.0.",
  "\n    --retry-delay <seconds>",
  "\t    Make curl  sleep this  amount of  time before  each  retry when  a",
  "\t    transfer has  failed  with  a  transient  error  (it  changes  the",
  "\t    default backoff time  algorithm between retries).  This option  is",
  "\t    only interesting if --retry  is also used.  Setting this delay  to",
  "\t    zero makes curl use the default backoff time.",
  "\n\t    If --retry-delay is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --retry-delay 5 --retry 7 https://example.com",
  "\n\t    See also --retry.",
  "\n    --retry-max-time <seconds>",
  "\t    The retry  timer  is  reset before  the  first  transfer  attempt.",
  "\t    Retries are done as usual (see  --retry) as long as the timer  has",
  "\t    not reached this  given limit. Notice  that if  the timer has  not",
  "\t    reached the limit, the  request is made  and while performing,  it",
  "\t    may take longer  than this given  time period.  To limit a  single",
  "\t    request's maximum time,  use --max-time. Set  this option to  zero",
  "\t    to not timeout retries.",
  "\n\t    If --retry-max-time is provided several times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --retry-max-time 30 --retry 10 https://example.com",
  "\n\t    See also --retry.",
  "\n    --retry <num>",
  "\t    If a  transient error is  returned when  curl tries  to perform  a",
  "\t    transfer, it  retries  this  number of  times  before  giving  up.",
  "\t    Setting the number  to 0 makes  curl do no  retries (which is  the",
  "\t    default). Transient  error means  either: a  timeout, an  FTP  4xx",
  "\t    response code or an HTTP 408,  429, 500, 502, 503 or 504  response",
  "\t    code.",
  "\n\t    When curl is about to retry a transfer, it first waits  one second",
  "\t    and then for all forthcoming  retries it doubles the waiting  time",
  "\t    until it reaches 10 minutes  which then remains delay between  the",
  "\t    rest of  the  retries. By  using  --retry-delay you  disable  this",
  "\t    exponential backoff algorithm. See also --retry-max-time to  limit",
  "\t    the total time allowed for retries.",
  "\n\t    curl complies with  the Retry-After:  response header  if one  was",
  "\t    present to know when to issue the next retry (added in 7.66.0).",
  "\n\t    If --retry is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --retry 7 https://example.com",
  "\n\t    See also --retry-max-time.",
  "\n    --sasl-authzid <identity>",
  "\t    Use this  authorization  identity  (authzid),  during  SASL  PLAIN",
  "\t    authentication,  in  addition   to  the  authentication   identity",
  "\t    (authcid) as specified by --user.",
  "\n\t    If the option  is not  specified, the server  derives the  authzid",
  "\t    from the authcid, but  if specified, and  depending on the  server",
  "\t    implementation, it may  be used  to access  another user's  inbox,",
  "\t    that the user has been granted access to, or a shared  mailbox for",
  "\t    example.",
  "\n\t    If --sasl-authzid is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --sasl-authzid zid imap://example.com/",
  "\n\t    See also --login-options. Added in 7.66.0.",
  "\n    --sasl-ir",
  "\t    Enable initial response in SASL authentication.",
  "\n\t    Providing --sasl-ir multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-sasl-ir.",
  "\n\t    Example:",
  "\t     curl --sasl-ir imap://example.com/",
  "\n\t    See also --sasl-authzid.",
  "\n    --service-name <name>",
  "\t    Set the service name for SPNEGO.",
  "\n\t    If --service-name is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --service-name sockd/server https://example.com",
  "\n\t    See also --negotiate and --proxy-service-name.",
  "\n    -S, --show-error",
  "\t    When used with --silent,  it makes curl  show an error message  if",
  "\t    it fails.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing  --show-error  multiple  times  has  no  extra   effect.",
  "\t    Disable it again with --no-show-error.",
  "\n\t    Example:",
  "\t     curl --show-error --silent https://example.com",
  "\n\t    See also --no-progress-meter.",
  "\n    -s, --silent",
  "\t    Silent  or quiet  mode.  Do  not  show  progress  meter  or  error",
  "\t    messages. Makes Curl mute. It still outputs the data you  ask for,",
  "\t    potentially even to the terminal/stdout unless you redirect it.",
  "\n\t    Use --show-error in  addition to this  option to disable  progress",
  "\t    meter but still show error messages.",
  "\n\t    Providing --silent multiple times has no extra effect. Disable  it",
  "\t    again with --no-silent.",
  "\n\t    Example:",
  "\t     curl -s https://example.com",
  "\n\t    See also --verbose, --stderr and --no-progress-meter.",
  "\n    --socks4 <host[:port]>",
  "\t    Use  the specified  SOCKS4  proxy.  If  the  port  number  is  not",
  "\t    specified, it  is assumed  at port  1080. Using  this socket  type",
  "\t    make curl resolve the hostname  and passing the address on to  the",
  "\t    proxy.",
  "\n\t    To specify proxy on a unix domain socket, use localhost  for host,",
  "\t    e.g. \"socks4://localhost/path/to/socket.sock\"",
  "\n\t    This option overrides  any previous  use of --proxy,  as they  are",
  "\t    mutually exclusive.",
  "\n\t    This option is superfluous  since you can  specify a socks4  proxy",
  "\t    with --proxy using a socks4:// protocol prefix.",
  "\n\t    --preproxy can be used to specify  a SOCKS proxy at the same  time",
  "\t    proxy is used with an HTTP/HTTPS proxy (added in 7.52.0).  In such",
  "\t    a case, curl first connects  to the SOCKS proxy and then  connects",
  "\t    (through SOCKS) to the HTTP or HTTPS proxy.",
  "\n\t    If --socks4  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --socks4 hostname:4096 https://example.com",
  "\n\t    See also --socks4a, --socks5 and --socks5-hostname.",
  "\n    --socks4a <host[:port]>",
  "\t    Use the  specified  SOCKS4a  proxy.  If the  port  number  is  not",
  "\t    specified, it  is assumed at  port 1080.  This asks  the proxy  to",
  "\t    resolve the hostname.",
  "\n\t    To specify proxy on a unix domain socket, use localhost  for host,",
  "\t    e.g. \"socks4a://localhost/path/to/socket.sock\"",
  "\n\t    This option overrides  any previous  use of --proxy,  as they  are",
  "\t    mutually exclusive.",
  "\n\t    This option is superfluous since  you can specify a socks4a  proxy",
  "\t    with --proxy using a socks4a:// protocol prefix.",
  "\n\t    --preproxy can be used to specify  a SOCKS proxy at the same  time",
  "\t    --proxy is used  with an  HTTP/HTTPS proxy (added  in 7.52.0).  In",
  "\t    such a  case, curl  first connects  to the  SOCKS  proxy and  then",
  "\t    connects (through SOCKS) to the HTTP or HTTPS proxy.",
  "\n\t    If --socks4a  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --socks4a hostname:4096 https://example.com",
  "\n\t    See also --socks4, --socks5 and --socks5-hostname.",
  "\n    --socks5-basic",
  "\t    Use username/password authentication when  connecting to a  SOCKS5",
  "\t    proxy.  The   username/password  authentication   is  enabled   by",
  "\t    default. Use --socks5-gssapi  to force  GSS-API authentication  to",
  "\t    SOCKS5 proxies.",
  "\n\t    Providing --socks5-basic multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --socks5-basic --socks5 hostname:4096 https://example.com",
  "\n\t    See also --socks5. Added in 7.55.0.",
  "\n    --socks5-gssapi-nec",
  "\t    As  part  of  the  GSS-API   negotiation  a  protection  mode   is",
  "\t    negotiated.  RFC  1961  says  in  section  4.3/4.4  it  should  be",
  "\t    protected, but  the NEC  reference  implementation does  not.  The",
  "\t    option --socks5-gssapi-nec allows the unprotected exchange of  the",
  "\t    protection mode negotiation.",
  "\n\t    Providing --socks5-gssapi-nec multiple times has no extra  effect.",
  "\t    Disable it again with --no-socks5-gssapi-nec.",
  "\n\t    Example:",
  "\t     curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com",
  "\n\t    See also --socks5.",
  "\n    --socks5-gssapi-service <name>",
  "\t    Set  the   service   name  for   a   socks  server.   Default   is",
  "\t    rcmd/server-fqdn.",
  "\n\t    If --socks5-gssapi-service  is provided  several times,  the  last",
  "\t    set value is used.",
  "\n\t    Example:",
  "\t     curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com",
  "\n\t    See also --socks5.",
  "\n    --socks5-gssapi",
  "\t    Use GSS-API authentication when connecting to a SOCKS5 proxy.  The",
  "\t    GSS-API authentication is enabled by default (if curl is  compiled",
  "\t    with   GSS-API    support).    Use   --socks5-basic    to    force",
  "\t    username/password authentication to SOCKS5 proxies.",
  "\n\t    Providing --socks5-gssapi  multiple  times has  no  extra  effect.",
  "\t    Disable it again with --no-socks5-gssapi.",
  "\n\t    Example:",
  "\t     curl --socks5-gssapi --socks5 hostname:4096 https://example.com",
  "\n\t    See also --socks5. Added in 7.55.0.",
  "\n    --socks5-hostname <host[:port]>",
  "\t    Use the  specified SOCKS5  proxy (and  let the  proxy resolve  the",
  "\t    hostname). If the port number  is not specified, it is assumed  at",
  "\t    port 1080.",
  "\n\t    To specify proxy on a unix domain socket, use localhost  for host,",
  "\t    e.g. \"socks5h://localhost/path/to/socket.sock\"",
  "\n\t    This option overrides  any previous  use of --proxy,  as they  are",
  "\t    mutually exclusive.",
  "\n\t    This  option  is  superfluous  since  you  can  specify  a  socks5",
  "\t    hostname proxy with --proxy using a socks5h:// protocol prefix.",
  "\n\t    --preproxy can be used to specify  a SOCKS proxy at the same  time",
  "\t    --proxy is used  with an  HTTP/HTTPS proxy (added  in 7.52.0).  In",
  "\t    such a  case, curl  first connects  to the  SOCKS  proxy and  then",
  "\t    connects (through SOCKS) to the HTTP or HTTPS proxy.",
  "\n\t    If --socks5-hostname  is  provided  several times,  the  last  set",
  "\t    value is used.",
  "\n\t    Example:",
  "\t     curl --socks5-hostname proxy.example:7000 https://example.com",
  "\n\t    See also --socks5 and --socks4a.",
  "\n    --socks5 <host[:port]>",
  "\t    Use  the  specified  SOCKS5  proxy  -  but  resolve  the  hostname",
  "\t    locally. If the  port number is  not specified,  it is assumed  at",
  "\t    port 1080.",
  "\n\t    To specify proxy on a unix domain socket, use localhost  for host,",
  "\t    e.g. \"socks5://localhost/path/to/socket.sock\"",
  "\n\t    This option overrides  any previous  use of --proxy,  as they  are",
  "\t    mutually exclusive.",
  "\n\t    This option is superfluous  since you can  specify a socks5  proxy",
  "\t    with --proxy using a socks5:// protocol prefix.",
  "\n\t    --preproxy can be used to specify  a SOCKS proxy at the same  time",
  "\t    --proxy is used  with an  HTTP/HTTPS proxy (added  in 7.52.0).  In",
  "\t    such a  case, curl  first connects  to the  SOCKS  proxy and  then",
  "\t    connects (through SOCKS) to the HTTP or HTTPS proxy.",
  "\n\t    This option (as well  as --socks4) does  not work with IPV6,  FTPS",
  "\t    or LDAP.",
  "\n\t    If --socks5  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --socks5 proxy.example:7000 https://example.com",
  "\n\t    See also --socks5-hostname and --socks4a.",
  "\n    -Y, --speed-limit <speed>",
  "\t    If a transfer is slower than this set speed (in bytes  per second)",
  "\t    for a given number  of seconds, it  gets aborted. The time  period",
  "\t    is set with --speed-time and is 30 seconds by default.",
  "\n\t    If --speed-limit is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --speed-limit 300 --speed-time 10 https://example.com",
  "\n\t    See also --speed-time, --limit-rate and --max-time.",
  "\n    -y, --speed-time <seconds>",
  "\t    If a  transfer  runs  slower than  speed-limit  bytes  per  second",
  "\t    during  a  speed-time   period,  the  transfer   is  aborted.   If",
  "\t    speed-time is used, the default  speed-limit is 1 unless set  with",
  "\t    --speed-limit.",
  "\n\t    This option controls transfers (in  both directions) but does  not",
  "\t    affect slow connects etc.  If this is a  concern for you, try  the",
  "\t    --connect-timeout option.",
  "\n\t    If --speed-time is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --speed-limit 300 --speed-time 10 https://example.com",
  "\n\t    See also --speed-limit and --limit-rate.",
  "\n    --ssl-allow-beast",
  "\t    (TLS) Do not work  around a security flaw  in the SSL3 and  TLS1.0",
  "\t    protocols known  as BEAST. If  this option  is not  used, the  SSL",
  "\t    layer  may  use  workarounds   known  to  cause   interoperability",
  "\t    problems with some older SSL implementations.",
  "\n\t    WARNING: this option loosens the  SSL security, and by using  this",
  "\t    flag you ask for exactly that.",
  "\n\t    Providing --ssl-allow-beast multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-ssl-allow-beast.",
  "\n\t    Example:",
  "\t     curl --ssl-allow-beast https://example.com",
  "\n\t    See also --proxy-ssl-allow-beast and --insecure.",
  "\n    --ssl-auto-client-cert",
  "\t    (TLS)  (Schannel)   Automatically   locate  and   use   a   client",
  "\t    certificate for  authentication,  when requested  by  the  server.",
  "\t    Since the server can request any certificate that supports  client",
  "\t    authentication in the OS certificate  store it could be a  privacy",
  "\t    violation and unexpected.",
  "\n\t    Providing  --ssl-auto-client-cert  multiple  times  has  no  extra",
  "\t    effect. Disable it again with --no-ssl-auto-client-cert.",
  "\n\t    Example:",
  "\t     curl --ssl-auto-client-cert https://example.com",
  "\n\t    See also --proxy-ssl-auto-client-cert. Added in 7.77.0.",
  "\n    --ssl-no-revoke",
  "\t    (TLS) (Schannel) Disable  certificate revocation checks.  WARNING:",
  "\t    this option loosens the SSL  security, and by using this flag  you",
  "\t    ask for exactly that.",
  "\n\t    Providing --ssl-no-revoke  multiple  times has  no  extra  effect.",
  "\t    Disable it again with --no-ssl-no-revoke.",
  "\n\t    Example:",
  "\t     curl --ssl-no-revoke https://example.com",
  "\n\t    See also --crlfile.",
  "\n    --ssl-reqd",
  "\t    (FTP IMAP  POP3 SMTP  LDAP) Require  SSL/TLS for  the  connection.",
  "\t    Terminates the connection  if the transfer  cannot be upgraded  to",
  "\t    use SSL/TLS.",
  "\n\t    This option  is handled in  LDAP (added  in 7.81.0).  It is  fully",
  "\t    supported by  the OpenLDAP  backend and  rejected by  the  generic",
  "\t    ldap backend if explicit TLS is required.",
  "\n\t    This option is unnecessary if you use a URL scheme that  in itself",
  "\t    implies immediate and implicit use  of TLS, like for FTPS,  IMAPS,",
  "\t    POP3S, SMTPS and LDAPS.  Such a transfer  always fails if the  TLS",
  "\t    handshake does not work.",
  "\n\t    This option was formerly known as --ftp-ssl-reqd.",
  "\n\t    Providing --ssl-reqd multiple times  has no extra effect.  Disable",
  "\t    it again with --no-ssl-reqd.",
  "\n\t    Example:",
  "\t     curl --ssl-reqd ftp://example.com",
  "\n\t    See also --ssl and --insecure.",
  "\n    --ssl-revoke-best-effort",
  "\t    (TLS) (Schannel) Ignore  certificate revocation  checks when  they",
  "\t    failed  due  to  missing/offline   distribution  points  for   the",
  "\t    revocation check lists.",
  "\n\t    Providing --ssl-revoke-best-effort  multiple  times has  no  extra",
  "\t    effect. Disable it again with --no-ssl-revoke-best-effort.",
  "\n\t    Example:",
  "\t     curl --ssl-revoke-best-effort https://example.com",
  "\n\t    See also --crlfile and --insecure. Added in 7.70.0.",
  "\n    --ssl",
  "\t    (FTP IMAP POP3 SMTP LDAP) Warning: this is considered an  insecure",
  "\t    option.  Consider  using  --ssl-reqd  instead  to  be  sure   curl",
  "\t    upgrades to a secure connection.",
  "\n\t    Try to use  SSL/TLS for  the connection. Reverts  to a  non-secure",
  "\t    connection if  the  server  does not  support  SSL/TLS.  See  also",
  "\t    --ftp-ssl-control  and   --ssl-reqd   for  different   levels   of",
  "\t    encryption required.",
  "\n\t    This option  is handled in  LDAP (added  in 7.81.0).  It is  fully",
  "\t    supported by the OpenLDAP backend and ignored by the generic  ldap",
  "\t    backend.",
  "\n\t    Please  note that  a  server  may  close  the  connection  if  the",
  "\t    negotiation does not succeed.",
  "\n\t    This option was formerly known as --ftp-ssl. That option name  can",
  "\t    still be used but might be removed in a future version.",
  "\n\t    Providing --ssl multiple  times has  no extra  effect. Disable  it",
  "\t    again with --no-ssl.",
  "\n\t    Example:",
  "\t     curl --ssl pop3://example.com/",
  "\n\t    See also --ssl-reqd, --insecure and --ciphers.",
  "\n    -2, --sslv2",
  "\t    (SSL) This option previously asked  curl to use SSLv2, but is  now",
  "\t    ignored (added  in 7.77.0).  SSLv2 is  widely considered  insecure",
  "\t    (see RFC 6176).",
  "\n\t    Providing --sslv2 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --sslv2 https://example.com",
  "\n\t    See  also  --http1.1  and  --http2.  --sslv2  requires  that   the",
  "\t    underlying libcurl  was  built  to support  TLS.  This  option  is",
  "\t    mutually exclusive  to  --sslv3  and  --tlsv1  and  --tlsv1.1  and",
  "\t    --tlsv1.2.",
  "\n    -3, --sslv3",
  "\t    (SSL) This option previously asked  curl to use SSLv3, but is  now",
  "\t    ignored (added  in 7.77.0).  SSLv3 is  widely considered  insecure",
  "\t    (see RFC 7568).",
  "\n\t    Providing --sslv3 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --sslv3 https://example.com",
  "\n\t    See  also  --http1.1  and  --http2.  --sslv3  requires  that   the",
  "\t    underlying libcurl  was  built  to support  TLS.  This  option  is",
  "\t    mutually exclusive  to  --sslv2  and  --tlsv1  and  --tlsv1.1  and",
  "\t    --tlsv1.2.",
  "\n    --stderr <file>",
  "\t    Redirect all writes to  stderr to the  specified file instead.  If",
  "\t    the filename is a plain '-', it is instead written to stdout.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    If --stderr  is provided  several  times, the  last set  value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --stderr output.txt https://example.com",
  "\n\t    See also --verbose and --silent.",
  "\n    --styled-output",
  "\t    Enable automatic  use  of  bold  font  styles  when  writing  HTTP",
  "\t    headers to  the terminal.  Use --no-styled-output  to switch  them",
  "\t    off.",
  "\n\t    Styled output requires a terminal  that supports bold fonts.  This",
  "\t    feature is not  present on curl  for Windows due  to lack of  this",
  "\t    capability.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing --styled-output  multiple  times has  no  extra  effect.",
  "\t    Disable it again with --no-styled-output.",
  "\n\t    Example:",
  "\t     curl --styled-output -I https://example.com",
  "\n\t    See also --head and --verbose. Added in 7.61.0.",
  "\n    --suppress-connect-headers",
  "\t    When --proxytunnel is used  and a CONNECT  request is made do  not",
  "\t    output proxy CONNECT response headers. This option is meant to  be",
  "\t    used with  --dump-header  or  --include which  are  used  to  show",
  "\t    protocol headers in the output. It has no effect on  debug options",
  "\t    such as --verbose or --trace, or any statistics.",
  "\n\t    Providing --suppress-connect-headers multiple  times has no  extra",
  "\t    effect. Disable it again with --no-suppress-connect-headers.",
  "\n\t    Example:",
  "\t     curl --suppress-connect-headers --include -x proxy https://example.com",
  "\n\t    See also  --dump-header,  --include and  --proxytunnel.  Added  in",
  "\t    7.54.0.",
  "\n    --tcp-fastopen",
  "\t    Enable use of  TCP Fast Open (RFC  7413). TCP Fast  Open is a  TCP",
  "\t    extension  that  allows  data  to   get  sent  earlier  over   the",
  "\t    connection (before  the final  handshake ACK)  if the  client  and",
  "\t    server have been connected previously.",
  "\n\t    Providing --tcp-fastopen  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-tcp-fastopen.",
  "\n\t    Example:",
  "\t     curl --tcp-fastopen https://example.com",
  "\n\t    See also --false-start.",
  "\n    --tcp-nodelay",
  "\t    Turn on the  TCP_NODELAY option. See  the curl_easy_setopt(3)  man",
  "\t    page for details about this option.",
  "\n\t    curl sets  this  option by  default  and you  need  to  explicitly",
  "\t    switch it off if you do not want it on (added in 7.50.2).",
  "\n\t    Providing  --tcp-nodelay  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-tcp-nodelay.",
  "\n\t    Example:",
  "\t     curl --tcp-nodelay https://example.com",
  "\n\t    See also --no-buffer.",
  "\n    -t, --telnet-option <opt=val>",
  "\t    Pass options to the telnet protocol. Supported options are:",
  "\n\t    `TTYPE=<term>`",
  "\n\t\tSets the terminal type.",
  "\n\t    `XDISPLOC=<X display>`",
  "\n\t\tSets the X display location.",
  "\n\t    `NEW_ENV=<var,val>`",
  "\n\t\tSets an environment variable.",
  "\n\t    --telnet-option can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl -t TTYPE=vt100 telnet://example.com/",
  "\n\t    See also --config.",
  "\n    --tftp-blksize <value>",
  "\t    (TFTP) Set the TFTP BLKSIZE  option (must be 512 or larger).  This",
  "\t    is the block size  that curl tries  to use when transferring  data",
  "\t    to or from a TFTP server. By default 512 bytes are used.",
  "\n\t    If --tftp-blksize is  provided several times,  the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --tftp-blksize 1024 tftp://example.com/file",
  "\n\t    See also --tftp-no-options.",
  "\n    --tftp-no-options",
  "\t    (TFTP) Do  not  to  send  TFTP  options  requests.  This  improves",
  "\t    interop with  some  legacy  servers that  do  not  acknowledge  or",
  "\t    properly  implement  TFTP  options.  When  this  option  is   used",
  "\t    --tftp-blksize is ignored.",
  "\n\t    Providing --tftp-no-options multiple  times has  no extra  effect.",
  "\t    Disable it again with --no-tftp-no-options.",
  "\n\t    Example:",
  "\t     curl --tftp-no-options tftp://192.168.0.1/",
  "\n\t    See also --tftp-blksize.",
  "\n    -z, --time-cond <time>",
  "\t    (HTTP FTP) Request a  file that has  been modified later than  the",
  "\t    given time and  date, or one  that has  been modified before  that",
  "\t    time. The date expression can be  all sorts of date strings or  if",
  "\t    it does not match any internal  ones, it is treated as a  filename",
  "\t    and curl  tries to  get the  modification date  (mtime) from  that",
  "\t    file  instead.  See  the   curl_getdate(3)  man  pages  for   date",
  "\t    expression details.",
  "\n\t    Start the date expression with a  dash (-) to make it request  for",
  "\t    a document that is  older than the  given date/time, default is  a",
  "\t    document that is newer than the specified date/time.",
  "\n\t    If provided  a non-existing  file, curl  outputs a  warning  about",
  "\t    that  fact  and  proceeds  to  do  the  transfer  without  a  time",
  "\t    condition.",
  "\n\t    If --time-cond is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl -z \"Wed 01 Sep 2021 12:18:00\" https://example.com",
  "\t     curl -z \"-Wed 01 Sep 2021 12:18:00\" https://example.com",
  "\t     curl -z file https://example.com",
  "\n\t    See also --etag-compare and --remote-time.",
  "\n    --tls-max <VERSION>",
  "\t    (TLS) VERSION defines maximum  supported TLS version. The  minimum",
  "\t    acceptable  version  is  set  by  tlsv1.0,  tlsv1.1,  tlsv1.2   or",
  "\t    tlsv1.3.",
  "\n\t    If the connection is done without TLS, this option has  no effect.",
  "\t    This includes QUIC-using (HTTP/3) transfers.",
  "\n\t    default",
  "\n\t\tUse up to recommended TLS version.",
  "\n\t    1.0",
  "\n\t\tUse up to TLSv1.0.",
  "\n\t    1.1",
  "\n\t\tUse up to TLSv1.1.",
  "\n\t    1.2",
  "\n\t\tUse up to TLSv1.2.",
  "\n\t    1.3",
  "\n\t\tUse up to TLSv1.3.",
  "\n\t    If --tls-max  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Examples:",
  "\t     curl --tls-max 1.2 https://example.com",
  "\t     curl --tls-max 1.3 --tlsv1.2 https://example.com",
  "\n\t    See also --tlsv1.0, --tlsv1.1, --tlsv1.2 and --tlsv1.3.  --tls-max",
  "\t    requires that the  underlying libcurl  was built  to support  TLS.",
  "\t    Added in 7.54.0.",
  "\n    --tls13-ciphers <list>",
  "\t    (TLS) Specifies which cipher  suites to use  in the connection  if",
  "\t    it negotiates TLS  1.3. The  list of ciphers  suites must  specify",
  "\t    valid ciphers. Read  up on TLS  1.3 cipher  suite details on  this",
  "\t    URL:",
  "\n\t    https://curl.se/docs/ssl-ciphers.html",
  "\n\t    This option  is currently  used only  when curl  is  built to  use",
  "\t    OpenSSL 1.1.1 or later, or Schannel. If you are using  a different",
  "\t    SSL backend you  can try setting  TLS 1.3  cipher suites by  using",
  "\t    the --ciphers option.",
  "\n\t    If --tls13-ciphers is provided several  times, the last set  value",
  "\t    is used.",
  "\n\t    Example:",
  "\t     curl --tls13-ciphers TLS_AES_128_GCM_SHA256 https://example.com",
  "\n\t    See also --ciphers, --curves  and --proxy-tls13-ciphers. Added  in",
  "\t    7.61.0.",
  "\n    --tlsauthtype <type>",
  "\t    (TLS) Set TLS authentication  type. Currently, the only  supported",
  "\t    option  is  \"SRP\",  for  TLS-SRP  (RFC  5054).  If  --tlsuser  and",
  "\t    --tlspassword are specified  but --tlsauthtype is  not, then  this",
  "\t    option  defaults  to  \"SRP\".  This   option  works  only  if   the",
  "\t    underlying libcurl is built  with TLS-SRP support, which  requires",
  "\t    OpenSSL or GnuTLS with TLS-SRP support.",
  "\n\t    If --tlsauthtype is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --tlsauthtype SRP https://example.com",
  "\n\t    See also --tlsuser.",
  "\n    --tlspassword <string>",
  "\t    (TLS) Set  password for  use with  the TLS  authentication  method",
  "\t    specified with  --tlsauthtype.  Requires that  --tlsuser  also  be",
  "\t    set.",
  "\n\t    This option does not work with TLS 1.3.",
  "\n\t    If --tlspassword is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --tlspassword pwd --tlsuser user https://example.com",
  "\n\t    See also --tlsuser.",
  "\n    --tlsuser <name>",
  "\t    (TLS) Set  username for  use with  the TLS  authentication  method",
  "\t    specified with --tlsauthtype. Requires that --tlspassword also  is",
  "\t    set.",
  "\n\t    This option does not work with TLS 1.3.",
  "\n\t    If --tlsuser  is provided  several times,  the last  set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --tlspassword pwd --tlsuser user https://example.com",
  "\n\t    See also --tlspassword.",
  "\n    --tlsv1.0",
  "\t    (TLS) Forces curl to use TLS version 1.0 or later  when connecting",
  "\t    to a remote TLS server.",
  "\n\t    In old  versions  of curl  this  option was  documented  to  allow",
  "\t    _only_ TLS 1.0.  That behavior was  inconsistent depending on  the",
  "\t    TLS library.  Use  --tls-max if  you want  to  set a  maximum  TLS",
  "\t    version.",
  "\n\t    Providing --tlsv1.0 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --tlsv1.0 https://example.com",
  "\n\t    See also --tlsv1.3.",
  "\n    --tlsv1.1",
  "\t    (TLS) Forces curl to use TLS version 1.1 or later  when connecting",
  "\t    to a remote TLS server.",
  "\n\t    In old  versions  of curl  this  option was  documented  to  allow",
  "\t    _only_ TLS 1.1.  That behavior was  inconsistent depending on  the",
  "\t    TLS library.  Use  --tls-max if  you want  to  set a  maximum  TLS",
  "\t    version.",
  "\n\t    Providing --tlsv1.1 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --tlsv1.1 https://example.com",
  "\n\t    See also --tlsv1.3 and --tls-max.",
  "\n    --tlsv1.2",
  "\t    (TLS) Forces curl to use TLS version 1.2 or later  when connecting",
  "\t    to a remote TLS server.",
  "\n\t    In old  versions  of curl  this  option was  documented  to  allow",
  "\t    _only_ TLS 1.2.  That behavior was  inconsistent depending on  the",
  "\t    TLS library.  Use  --tls-max if  you want  to  set a  maximum  TLS",
  "\t    version.",
  "\n\t    Providing --tlsv1.2 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --tlsv1.2 https://example.com",
  "\n\t    See also --tlsv1.3 and --tls-max.",
  "\n    --tlsv1.3",
  "\t    (TLS) Forces curl to use TLS version 1.3 or later  when connecting",
  "\t    to a remote TLS server.",
  "\n\t    If the connection is done without TLS, this option has  no effect.",
  "\t    This includes QUIC-using (HTTP/3) transfers.",
  "\n\t    Note that TLS 1.3 is not supported by all TLS backends.",
  "\n\t    Providing --tlsv1.3 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --tlsv1.3 https://example.com",
  "\n\t    See also --tlsv1.2 and --tls-max. Added in 7.52.0.",
  "\n    -1, --tlsv1",
  "\t    (TLS) Use at least TLS version 1.x when negotiating with  a remote",
  "\t    TLS server. That means TLS version 1.0 or higher",
  "\n\t    Providing --tlsv1 multiple times has no extra effect.",
  "\n\t    Example:",
  "\t     curl --tlsv1 https://example.com",
  "\n\t    See  also  --http1.1  and  --http2.  --tlsv1  requires  that   the",
  "\t    underlying libcurl  was  built  to support  TLS.  This  option  is",
  "\t    mutually exclusive to --tlsv1.1 and --tlsv1.2 and --tlsv1.3.",
  "\n    --tr-encoding",
  "\t    (HTTP) Request a compressed  Transfer-Encoding response using  one",
  "\t    of the algorithms  curl supports,  and uncompress  the data  while",
  "\t    receiving it.",
  "\n\t    Providing  --tr-encoding  multiple  times  has  no  extra  effect.",
  "\t    Disable it again with --no-tr-encoding.",
  "\n\t    Example:",
  "\t     curl --tr-encoding https://example.com",
  "\n\t    See also --compressed.",
  "\n    --trace-ascii <file>",
  "\t    Save  a full  trace  dump  of  all  incoming  and  outgoing  data,",
  "\t    including descriptive information, in  the given output file.  Use",
  "\t    \"-\" as filename to have the output sent to stdout.",
  "\n\t    This is similar to --trace, but  leaves out the hex part and  only",
  "\t    shows the ASCII  part of the  dump. It  makes smaller output  that",
  "\t    might be easier to read for untrained humans.",
  "\n\t    Note that verbose  output of curl  activities and network  traffic",
  "\t    might contain sensitive data, including usernames, credentials  or",
  "\t    secret data content. Be  aware and be  careful when sharing  trace",
  "\t    logs with others.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    If --trace-ascii is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --trace-ascii log.txt https://example.com",
  "\n\t    See also --verbose and --trace. This option is mutually  exclusive",
  "\t    to --trace and --verbose.",
  "\n    --trace-config <string>",
  "\t    Set configuration  for trace  output.  A comma-separated  list  of",
  "\t    components where  detailed  output  can be  made  available  from.",
  "\t    Names are  case-insensitive. Specify  'all'  to enable  all  trace",
  "\t    components.",
  "\n\t    In addition to trace component names, specify \"ids\" and \"time\"  to",
  "\t    avoid extra --trace-ids or --trace-time parameters.",
  "\n\t    See the curl_global_trace(3) man page for more details.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    --trace-config can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --trace-config ids,http/2 https://example.com",
  "\n\t    See also --verbose and --trace. Added in 8.3.0.",
  "\n    --trace-ids",
  "\t    Prepends the transfer and connection identifiers to each trace  or",
  "\t    verbose line that curl displays.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing --trace-ids multiple times has no extra effect.  Disable",
  "\t    it again with --no-trace-ids.",
  "\n\t    Example:",
  "\t     curl --trace-ids --trace-ascii output https://example.com",
  "\n\t    See also --trace and --verbose. Added in 8.2.0.",
  "\n    --trace-time",
  "\t    Prepends a  time stamp to  each trace  or verbose  line that  curl",
  "\t    displays.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing  --trace-time  multiple  times  has  no  extra   effect.",
  "\t    Disable it again with --no-trace-time.",
  "\n\t    Example:",
  "\t     curl --trace-time --trace-ascii output https://example.com",
  "\n\t    See also --trace and --verbose.",
  "\n    --trace <file>",
  "\t    Save  a full  trace  dump  of  all  incoming  and  outgoing  data,",
  "\t    including descriptive information, in  the given output file.  Use",
  "\t    \"-\" as filename  to have  the output  sent to stdout.  Use \"%\"  as",
  "\t    filename to have the output sent to stderr.",
  "\n\t    Note that verbose  output of curl  activities and network  traffic",
  "\t    might contain sensitive data, including usernames, credentials  or",
  "\t    secret data content. Be  aware and be  careful when sharing  trace",
  "\t    logs with others.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    If --trace is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl --trace log.txt https://example.com",
  "\n\t    See   also   --trace-ascii,   --trace-config,   --trace-ids    and",
  "\t    --trace-time. This option is  mutually exclusive to --verbose  and",
  "\t    --trace-ascii.",
  "\n    --unix-socket <path>",
  "\t    (HTTP) Connect through this Unix  domain socket, instead of  using",
  "\t    the network.",
  "\n\t    If --unix-socket is provided several times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl --unix-socket socket-path https://example.com",
  "\n\t    See also --abstract-unix-socket.",
  "\n    -T, --upload-file <file>",
  "\t    Upload the specified local file to the remote URL.",
  "\n\t    If there is no  file part in the  specified URL, curl appends  the",
  "\t    local file  name  to  the end  of  the URL  before  the  operation",
  "\t    starts. You must use  a trailing slash  (/) on the last  directory",
  "\t    to prove to  curl that there  is no filename  or curl thinks  that",
  "\t    your last directory name is the remote filename to use.",
  "\n\t    When putting  the  local filename  at the  end  of the  URL,  curl",
  "\t    ignores what is  on the left  side of any  slash (/) or  backslash",
  "\t    (\\) used in  the filename and  only appends what  is on the  right",
  "\t    side of the rightmost such character.",
  "\n\t    Use the filename  \"-\" (a single  dash) to use  stdin instead of  a",
  "\t    given file. Alternately,  the filename \".\"  (a single period)  may",
  "\t    be specified instead of \"-\"  to use stdin in non-blocking mode  to",
  "\t    allow reading server output while stdin is being uploaded.",
  "\n\t    If this option  is used  with an  HTTP(S) URL, the  PUT method  is",
  "\t    used.",
  "\n\t    You can  specify one  --upload-file for  each URL  on the  command",
  "\t    line. Each --upload-file + URL  pair specifies what to upload  and",
  "\t    to  where.  curl  also  supports  globbing  of  the  --upload-file",
  "\t    argument, meaning that you can  upload multiple files to a  single",
  "\t    URL by using the same URL globbing style supported in the URL.",
  "\n\t    When uploading to an SMTP server: the uploaded data is  assumed to",
  "\t    be RFC  5322 formatted. It  has to  feature the  necessary set  of",
  "\t    headers and  mail body  formatted correctly  by the  user as  curl",
  "\t    does not transcode nor encode it further in any way.",
  "\n\t    --upload-file can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl -T file https://example.com",
  "\t     curl -T \"img[1-1000].png\" ftp://ftp.example.com/",
  "\t     curl --upload-file \"{file1,file2}\" https://example.com",
  "\n\t    See also --get, --head, --request and --data.",
  "\n    --url-query <data>",
  "\t    (all) Add a  piece of data, usually  a name +  value pair, to  the",
  "\t    end of the URL  query part. The syntax  is identical to that  used",
  "\t    for --data-urlencode with one extension:",
  "\n\t    If the argument starts with a  '+' (plus), the rest of the  string",
  "\t    is provided as-is unencoded.",
  "\n\t    The query part of a URL is the one following the question  mark on",
  "\t    the right end.",
  "\n\t    --url-query can be used several times in a command line",
  "\n\t    Examples:",
  "\t     curl --url-query name=val https://example.com",
  "\t     curl --url-query =encodethis http://example.net/foo",
  "\t     curl --url-query name@file https://example.com",
  "\t     curl --url-query @fileonly https://example.com",
  "\t     curl --url-query \"+name=%20foo\" https://example.com",
  "\n\t    See also --data-urlencode and --get. Added in 7.87.0.",
  "\n    --url <url>",
  "\t    Specify a URL to fetch.",
  "\n\t    If the given URL  is missing a scheme  name (such as \"http://\"  or",
  "\t    \"ftp://\" etc) then curl  makes a guess based  on the host. If  the",
  "\t    outermost subdomain name  matches DICT, FTP,  IMAP, LDAP, POP3  or",
  "\t    SMTP then that protocol is used, otherwise HTTP is used.  Guessing",
  "\t    can be avoided by  providing a full  URL including the scheme,  or",
  "\t    disabled by  setting a  default protocol  (added in  7.45.0),  see",
  "\t    --proto-default for details.",
  "\n\t    To control  where this URL  is written,  use the  --output or  the",
  "\t    --remote-name options.",
  "\n\t    WARNING:  On  Windows,  particular   \"file://\"  accesses  can   be",
  "\t    converted to network accesses by the operating system. Beware!",
  "\n\t    --url can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --url https://example.com",
  "\n\t    See also --next and --config.",
  "\n    -B, --use-ascii",
  "\t    (FTP LDAP) Enable ASCII transfer  mode. For FTP, this can also  be",
  "\t    enforced by  using a  URL that  ends with  \";type=A\". This  option",
  "\t    causes data sent to stdout to be in text mode for win32 systems.",
  "\n\t    Providing --use-ascii multiple times has no extra effect.  Disable",
  "\t    it again with --no-use-ascii.",
  "\n\t    Example:",
  "\t     curl -B ftp://example.com/README",
  "\n\t    See also --crlf and --data-ascii.",
  "\n    -A, --user-agent <name>",
  "\t    (HTTP) Specify the User-Agent string  to send to the HTTP  server.",
  "\t    To encode blanks in  the string, surround  the string with  single",
  "\t    quote marks. This header can also be set with the --header  or the",
  "\t    --proxy-header options.",
  "\n\t    If you give  an empty  argument to --user-agent  (\"\"), it  removes",
  "\t    the header  completely from  the request.  If you  prefer a  blank",
  "\t    header, you can set it to a single space (\" \").",
  "\n\t    If --user-agent is provided several  times, the last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl -A \"Agent 007\" https://example.com",
  "\n\t    See also --header and --proxy-header.",
  "\n    -u, --user <user:password>",
  "\t    Specify  the   username   and   password   to   use   for   server",
  "\t    authentication. Overrides --netrc and --netrc-optional.",
  "\n\t    If you simply specify the username, curl prompts for a password.",
  "\n\t    The username and passwords are split up on the first  colon, which",
  "\t    makes it  impossible to  use a  colon in  the  username with  this",
  "\t    option. The password can, still.",
  "\n\t    On systems where it  works, curl hides  the given option  argument",
  "\t    from process listings. This is  not enough to protect  credentials",
  "\t    from possibly getting seen  by other users  on the same system  as",
  "\t    they  still  are  visible  for  a  moment  before  cleared.   Such",
  "\t    sensitive data should be retrieved from a file instead or  similar",
  "\t    and never used in clear text in a command line.",
  "\n\t    When using  Kerberos V5  with a  Windows based  server you  should",
  "\t    include the Windows domain name in the username, in order  for the",
  "\t    server to successfully obtain  a Kerberos Ticket.  If you do  not,",
  "\t    then the initial authentication handshake may fail.",
  "\n\t    When using  NTLM, the  username  can be  specified simply  as  the",
  "\t    username, without  the domain,  if there  is a  single domain  and",
  "\t    forest in your setup for example.",
  "\n\t    To specify the  domain name  use either Down-Level  Logon Name  or",
  "\t    UPN (User Principal Name)  formats. For example, EXAMPLE\\user  and",
  "\t    user@example.com respectively.",
  "\n\t    If  you  use  a  Windows  SSPI-enabled  curl  binary  and  perform",
  "\t    Kerberos V5,  Negotiate, NTLM  or Digest  authentication then  you",
  "\t    can tell  curl  to select  the  username and  password  from  your",
  "\t    environment by specifying  a single  colon with  this option:  \"-u",
  "\t    :\".",
  "\n\t    If --user is provided several times, the last set value is used.",
  "\n\t    Example:",
  "\t     curl -u user:secret https://example.com",
  "\n\t    See also --netrc and --config.",
  "\n    --variable <[%]name=text/@file>",
  "\t    Set a variable  with \"name=content\" or  \"name@file\" (where  \"file\"",
  "\t    can be stdin if set  to a single dash  (\"-\")). The name is a  case",
  "\t    sensitive identifier that  must consist of  no other letters  than",
  "\t    a-z, A-Z,  0-9  or  underscore.  The  specified  content  is  then",
  "\t    associated with this identifier.",
  "\n\t    Setting the same variable name  again overwrites the old  contents",
  "\t    with the new.",
  "\n\t    The contents of a  variable can be  referenced in a later  command",
  "\t    line option when  that option name  is prefixed with  \"--expand-\",",
  "\t    and the name is used as \"{{name}}\".",
  "\n\t    --variable can import environment  variables into the name  space.",
  "\t    Opt to  either  require the  environment  variable to  be  set  or",
  "\t    provide a  default  value  for the  variable  in case  it  is  not",
  "\t    already set.",
  "\n\t    --variable %name  imports the  variable  called \"name\"  but  exits",
  "\t    with an error if that environment variable is not already  set. To",
  "\t    provide a default value  if the environment  variable is not  set,",
  "\t    use --variable  %name=content  or --variable  %name@content.  Note",
  "\t    that on some  systems - but  not all  - environment variables  are",
  "\t    case insensitive.",
  "\n\t    When expanding variables,  curl supports a  set of functions  that",
  "\t    can make the variable contents  more convenient to use. You  apply",
  "\t    a function  to a variable  expansion by  adding a  colon and  then",
  "\t    list the  desired  functions in  a  comma-separated list  that  is",
  "\t    evaluated in a left-to-right order. Variable content holding  null",
  "\t    bytes that are not encoded when expanded, causes an error.",
  "\n\t    Available functions:",
  "\n\t    trim",
  "\n\t\tremoves all leading and trailing white space.",
  "\n\t    json",
  "\n\t\toutputs the content using JSON string quoting rules.",
  "\n\t    url",
  "\n\t\tshows the content URL (percent) encoded.",
  "\n\t    b64",
  "\n\t\texpands the variable base64 encoded",
  "\n\t    --variable can be used several times in a command line",
  "\n\t    Example:",
  "\t     curl --variable name=smith https://example.com",
  "\n\t    See also --config. Added in 8.3.0.",
  "\n    -v, --verbose",
  "\t    Makes curl verbose during the operation. Useful for debugging  and",
  "\t    seeing what's  going on under  the hood.  A line  starting with  >",
  "\t    means header data sent  by curl, <  means header data received  by",
  "\t    curl that is hidden  in normal cases, and  a line starting with  *",
  "\t    means additional info provided by curl.",
  "\n\t    If  you only  want  HTTP  headers  in  the  output,  --include  or",
  "\t    --dump-header might be more suitable options.",
  "\n\t    If you think this option  still does not give you enough  details,",
  "\t    consider using --trace or --trace-ascii instead.",
  "\n\t    Note that verbose  output of curl  activities and network  traffic",
  "\t    might contain sensitive data, including usernames, credentials  or",
  "\t    secret data content. Be  aware and be  careful when sharing  trace",
  "\t    logs with others.",
  "\n\t    This option is global and does  not need to be specified for  each",
  "\t    use of --next.",
  "\n\t    Providing --verbose multiple  times has no  extra effect.  Disable",
  "\t    it again with --no-verbose.",
  "\n\t    Example:",
  "\t     curl --verbose https://example.com",
  "\n\t    See also  --include,  --silent, --trace  and  --trace-ascii.  This",
  "\t    option is mutually exclusive to --trace and --trace-ascii.",
  "\n    -V, --version",
  "\t    Displays information about curl and the libcurl version it uses.",
  "\n\t    The first  line includes  the full  version of  curl, libcurl  and",
  "\t    other 3rd party libraries linked with the executable.",
  "\n\t    The second line  (starts with \"Release-Date:\")  shows the  release",
  "\t    date.",
  "\n\t    The third  line (starts  with  \"Protocols:\") shows  all  protocols",
  "\t    that libcurl reports to support.",
  "\n\t    The fourth line (starts with \"Features:\") shows specific  features",
  "\t    libcurl reports to offer. Available features include:",
  "\n\t    `alt-svc`",
  "\n\t\tSupport for the Alt-Svc: header is provided.",
  "\n\t    `AsynchDNS`",
  "\n\t\tThis curl uses asynchronous  name resolves. Asynchronous  name",
  "\t\tresolves can be done using  either the c-ares or the  threaded",
  "\t\tresolver backends.",
  "\n\t    `brotli`",
  "\n\t\tSupport for automatic brotli compression over HTTP(S).",
  "\n\t    `CharConv`",
  "\n\t\tcurl was  built with  support  for character  set  conversions",
  "\t\t(like EBCDIC)",
  "\n\t    `Debug`",
  "\n\t\tThis curl uses a libcurl  built with Debug. This enables  more",
  "\t\terror-tracking and memory  debugging etc. For  curl-developers",
  "\t\tonly!",
  "\n\t    `gsasl`",
  "\n\t\tThe  built-in  SASL  authentication  includes  extensions   to",
  "\t\tsupport SCRAM because libcurl was built with libgsasl.",
  "\n\t    `GSS-API`",
  "\n\t\tGSS-API is supported.",
  "\n\t    `HSTS`",
  "\n\t\tHSTS support is present.",
  "\n\t    `HTTP2`",
  "\n\t\tHTTP/2 support has been built-in.",
  "\n\t    `HTTP3`",
  "\n\t\tHTTP/3 support has been built-in.",
  "\n\t    `HTTPS-proxy`",
  "\n\t\tThis curl is built to support HTTPS proxy.",
  "\n\t    `IDN`",
  "\n\t\tThis curl supports IDN - international domain names.",
  "\n\t    `IPv6`",
  "\n\t\tYou can use IPv6 with this.",
  "\n\t    `Kerberos`",
  "\n\t\tKerberos V5 authentication is supported.",
  "\n\t    `Largefile`",
  "\n\t\tThis curl  supports transfers  of  large files,  files  larger",
  "\t\tthan 2GB.",
  "\n\t    `libz`",
  "\n\t\tAutomatic decompression  (via  gzip,  deflate)  of  compressed",
  "\t\tfiles over HTTP is supported.",
  "\n\t    `MultiSSL`",
  "\n\t\tThis curl supports multiple TLS backends.",
  "\n\t    `NTLM`",
  "\n\t\tNTLM authentication is supported.",
  "\n\t    `NTLM_WB`",
  "\n\t\tNTLM delegation to winbind helper is supported.",
  "\n\t    `PSL`",
  "\n\t\tPSL is short for Public  Suffix List and means that this  curl",
  "\t\thas been built with knowledge about \"public suffixes\".",
  "\n\t    `SPNEGO`",
  "\n\t\tSPNEGO authentication is supported.",
  "\n\t    `SSL`",
  "\n\t\tSSL versions  of  various  protocols are  supported,  such  as",
  "\t\tHTTPS, FTPS, POP3S and so on.",
  "\n\t    `SSPI`",
  "\n\t\tSSPI is supported.",
  "\n\t    `TLS-SRP`",
  "\n\t\tSRP (Secure Remote Password)  authentication is supported  for",
  "\t\tTLS.",
  "\n\t    `TrackMemory`",
  "\n\t\tDebug memory tracking is supported.",
  "\n\t    `Unicode`",
  "\n\t\tUnicode support on Windows.",
  "\n\t    `UnixSockets`",
  "\n\t\tUnix sockets support is provided.",
  "\n\t    `zstd`",
  "\n\t\tAutomatic decompression (via  zstd) of  compressed files  over",
  "\t\tHTTP is supported.",
  "\n\t    Example:",
  "\t     curl --version",
  "\n\t    See also --help and --manual.",
  "\n    -w, --write-out <format>",
  "\t    Make  curl  display  information  on  stdout  after  a   completed",
  "\t    transfer. The  format is  a  string that  may contain  plain  text",
  "\t    mixed with any number  of variables. The  format can be  specified",
  "\t    as a literal \"string\", or you  can have curl read the format  from",
  "\t    a file with \"@filename\" and to  tell curl to read the format  from",
  "\t    stdin you write \"@-\".",
  "\n\t    The variables present in the output format are substituted by  the",
  "\t    value or  text  that curl  thinks  fit, as  described  below.  All",
  "\t    variables are  specified  as  %{variable_name}  and  to  output  a",
  "\t    normal % you just  write them as %%. You  can output a newline  by",
  "\t    using \\n, a carriage return with \\r and a tab space with \\t.",
  "\n\t    The output is by  default written to  standard output, but can  be",
  "\t    changed with %{stderr} and %output{}.",
  "\n\t    Output  HTTP  headers  from  the  most  recent  request  by  using",
  "\t    %header{name} where  name  is the  case  insensitive name  of  the",
  "\t    header (without  the  trailing  colon). The  header  contents  are",
  "\t    exactly as  sent  over  the network,  with  leading  and  trailing",
  "\t    whitespace trimmed (added in 7.84.0).",
  "\n\t    Select a specific target destination file to write the output  to,",
  "\t    by using %output{name}  (added in  curl 8.3.0) where  name is  the",
  "\t    full filename.  The  output  following that  instruction  is  then",
  "\t    written to that file. More  than one %output{} instruction can  be",
  "\t    specified in the same write-out  argument. If the filename  cannot",
  "\t    be created, curl  leaves the  output destination to  the one  used",
  "\t    prior to the %output{} instruction. Use %output{>>name} to  append",
  "\t    data to an existing file.",
  "\n\t    This output  is done  independently of  if the  file transfer  was",
  "\t    successful or not.",
  "\n\t    If the  specified  action or  output  specified with  this  option",
  "\t    fails in  any way,  it does  not make  curl  return a  (different)",
  "\t    error.",
  "\n\t    NOTE: On Windows, the %-symbol is a special symbol used  to expand",
  "\t    environment variables. In batch files,  all occurrences of %  must",
  "\t    be doubled  when using  this option  to properly  escape. If  this",
  "\t    option is used at the command prompt then the % cannot  be escaped",
  "\t    and unintended expansion is possible.",
  "\n\t    The variables available are:",
  "\n\t    `certs`",
  "\n\t\tOutput the certificate chain  with details. Supported only  by",
  "\t\tthe OpenSSL, GnuTLS, Schannel  and Secure Transport  backends.",
  "\t\t(Added in 7.88.0)",
  "\n\t    `content_type`",
  "\n\t\tThe Content-Type of the requested document, if there was any.",
  "\n\t    `errormsg`",
  "\n\t\tThe error message. (Added in 7.75.0)",
  "\n\t    `exitcode`",
  "\n\t\tThe numerical exit code of the transfer. (Added in 7.75.0)",
  "\n\t    `filename_effective`",
  "\n\t\tThe ultimate filename that  curl writes out  to. This is  only",
  "\t\tmeaningful if  curl  is  told to  write  to a  file  with  the",
  "\t\t--remote-name  or  --output  option.  It  is  most  useful  in",
  "\t\tcombination with  the --remote-header-name  option. (Added  in",
  "\t\t7.26.0)",
  "\n\t    `ftp_entry_path`",
  "\n\t\tThe initial  path curl  ended up  in when  logging  on to  the",
  "\t\tremote FTP server.",
  "\n\t    `header_json`",
  "\n\t\tA JSON object with all  HTTP response headers from the  recent",
  "\t\ttransfer. Values are provided as arrays, since in the case  of",
  "\t\tmultiple headers  there  can  be multiple  values.  (Added  in",
  "\t\t7.83.0)",
  "\n\t\tThe header names  provided in  lowercase, listed  in order  of",
  "\t\tappearance over the wire. Except for duplicated headers.  They",
  "\t\tare grouped  on  the first  occurrence  of that  header,  each",
  "\t\tvalue is presented in the JSON array.",
  "\n\t    `http_code`",
  "\n\t\tThe numerical  response  code  that  was  found  in  the  last",
  "\t\tretrieved HTTP(S) or FTP(s) transfer.",
  "\n\t    `http_connect`",
  "\n\t\tThe numerical code that was  found in the last response  (from",
  "\t\ta proxy) to a curl CONNECT request.",
  "\n\t    `http_version`",
  "\n\t\tThe http version that was effectively used. (Added in 7.50.0)",
  "\n\t    `json`",
  "\n\t\tA JSON object with all available keys. (Added in 7.70.0)",
  "\n\t    `local_ip`",
  "\n\t\tThe IP  address of the  local end  of the  most recently  done",
  "\t\tconnection - can be either IPv4 or IPv6.",
  "\n\t    `local_port`",
  "\n\t\tThe local port number of the most recently done connection.",
  "\n\t    `method`",
  "\n\t\tThe http method used in  the most recent HTTP request.  (Added",
  "\t\tin 7.72.0)",
  "\n\t    `num_certs`",
  "\n\t\tNumber of server certificates  received in the TLS  handshake.",
  "\t\tSupported only  by the  OpenSSL, GnuTLS,  Schannel and  Secure",
  "\t\tTransport backends. (Added in 7.88.0)",
  "\n\t    `num_connects`",
  "\n\t\tNumber of new connects made in the recent transfer.",
  "\n\t    `num_headers`",
  "\n\t\tThe number  of response  headers in  the most  recent  request",
  "\t\t(restarted at each  redirect). Note  that the  status line  IS",
  "\t\tNOT a header. (Added in 7.73.0)",
  "\n\t    `num_redirects`",
  "\n\t\tNumber of redirects that were followed in the request.",
  "\n\t    `onerror`",
  "\n\t\tThe rest of the output is only shown if the  transfer returned",
  "\t\ta non-zero error. (Added in 7.75.0)",
  "\n\t    `proxy_ssl_verify_result`",
  "\n\t\tThe  result  of  the   HTTPS  proxy's  SSL  peer   certificate",
  "\t\tverification that was requested. 0 means the verification  was",
  "\t\tsuccessful. (Added in 7.52.0)",
  "\n\t    `proxy_used`",
  "\n\t\tReturns 1 if the previous transfer used a proxy, otherwise  0.",
  "\t\tUseful  to  for  example  determine  if  a  \"NOPROXY\"  pattern",
  "\t\tmatched the hostname or not. (Added in 8.7.0)",
  "\n\t    `redirect_url`",
  "\n\t\tWhen an HTTP  request was  made without  --location to  follow",
  "\t\tredirects (or when --max-redirs  is met), this variable  shows",
  "\t\tthe actual URL a redirect would have gone to.",
  "\n\t    `referer`",
  "\n\t\tThe Referer: header, if there was any. (Added in 7.76.0)",
  "\n\t    `remote_ip`",
  "\n\t\tThe remote IP address of  the most recently done connection  -",
  "\t\tcan be either IPv4 or IPv6.",
  "\n\t    `remote_port`",
  "\n\t\tThe remote port number of the most recently done connection.",
  "\n\t    `response_code`",
  "\n\t\tThe numerical  response  code  that  was  found  in  the  last",
  "\t\ttransfer (formerly known as \"http_code\").",
  "\n\t    `scheme`",
  "\n\t\tThe  URL   scheme  (sometimes   called  protocol)   that   was",
  "\t\teffectively used. (Added in 7.52.0)",
  "\n\t    `size_download`",
  "\n\t\tThe total amount of  bytes that were  downloaded. This is  the",
  "\t\tsize  of  the  body/data   that  was  transferred,   excluding",
  "\t\theaders.",
  "\n\t    `size_header`",
  "\n\t\tThe total amount of bytes of the downloaded headers.",
  "\n\t    `size_request`",
  "\n\t\tThe total amount of bytes that were sent in the HTTP request.",
  "\n\t    `size_upload`",
  "\n\t\tThe total  amount of  bytes that  were uploaded.  This is  the",
  "\t\tsize  of  the  body/data   that  was  transferred,   excluding",
  "\t\theaders.",
  "\n\t    `speed_download`",
  "\n\t\tThe  average  download  speed  that  curl  measured  for   the",
  "\t\tcomplete download. Bytes per second.",
  "\n\t    `speed_upload`",
  "\n\t\tThe average upload speed that  curl measured for the  complete",
  "\t\tupload. Bytes per second.",
  "\n\t    `ssl_verify_result`",
  "\n\t\tThe result of the SSL  peer certificate verification that  was",
  "\t\trequested. 0 means the verification was successful.",
  "\n\t    `stderr`",
  "\n\t\tFrom this  point  on, the  --write-out  output is  written  to",
  "\t\tstandard error. (Added in 7.63.0)",
  "\n\t    `stdout`",
  "\n\t\tFrom this  point  on, the  --write-out  output is  written  to",
  "\t\tstandard output.  This is  the  default, but  can be  used  to",
  "\t\tswitch back after switching to stderr. (Added in 7.63.0)",
  "\n\t    `time_appconnect`",
  "\n\t\tThe time,  in  seconds,  it  took from  the  start  until  the",
  "\t\tSSL/SSH/etc  connect/handshake   to   the  remote   host   was",
  "\t\tcompleted.",
  "\n\t    `time_connect`",
  "\n\t\tThe time, in  seconds, it took  from the  start until the  TCP",
  "\t\tconnect to the remote host (or proxy) was completed.",
  "\n\t    `time_namelookup`",
  "\n\t\tThe time, in seconds,  it took from  the start until the  name",
  "\t\tresolving was completed.",
  "\n\t    `time_pretransfer`",
  "\n\t\tThe time, in seconds,  it took from  the start until the  file",
  "\t\ttransfer  was  just   about  to  begin.   This  includes   all",
  "\t\tpre-transfer commands and  negotiations that  are specific  to",
  "\t\tthe particular protocol(s) involved.",
  "\n\t    `time_redirect`",
  "\n\t\tThe time,  in  seconds,  it took  for  all  redirection  steps",
  "\t\tincluding  name  lookup,  connect,  pretransfer  and  transfer",
  "\t\tbefore the  final  transaction  was  started.  \"time_redirect\"",
  "\t\tshows the complete execution time for multiple redirections.",
  "\n\t    `time_starttransfer`",
  "\n\t\tThe time, in seconds, it  took from the start until the  first",
  "\t\tbyte is received. This includes time_pretransfer and also  the",
  "\t\ttime the server needed to calculate the result.",
  "\n\t    `time_total`",
  "\n\t\tThe total time, in seconds, that the full operation lasted.",
  "\n\t    `url`",
  "\n\t\tThe URL that was fetched. (Added in 7.75.0)",
  "\n\t    `url.scheme`",
  "\n\t\tThe scheme part of the URL that was fetched. (Added in 8.1.0)",
  "\n\t    `url.user`",
  "\n\t\tThe user part of the URL that was fetched. (Added in 8.1.0)",
  "\n\t    `url.password`",
  "\n\t\tThe password  part of  the  URL that  was fetched.  (Added  in",
  "\t\t8.1.0)",
  "\n\t    `url.options`",
  "\n\t\tThe options  part  of the  URL  that was  fetched.  (Added  in",
  "\t\t8.1.0)",
  "\n\t    `url.host`",
  "\n\t\tThe host part of the URL that was fetched. (Added in 8.1.0)",
  "\n\t    `url.port`",
  "\n\t\tThe port  number  of the  URL that  was  fetched. If  no  port",
  "\t\tnumber was  specified  and  the  URL  scheme  is  known,  that",
  "\t\tscheme's default port number is shown. (Added in 8.1.0)",
  "\n\t    `url.path`",
  "\n\t\tThe path part of the URL that was fetched. (Added in 8.1.0)",
  "\n\t    `url.query`",
  "\n\t\tThe query part of the URL that was fetched. (Added in 8.1.0)",
  "\n\t    `url.fragment`",
  "\n\t\tThe fragment  part of  the  URL that  was fetched.  (Added  in",
  "\t\t8.1.0)",
  "\n\t    `url.zoneid`",
  "\n\t\tThe zone  id  part of  the URL  that  was fetched.  (Added  in",
  "\t\t8.1.0)",
  "\n\t    `urle.scheme`",
  "\n\t\tThe scheme part of the effective (last) URL that was  fetched.",
  "\t\t(Added in 8.1.0)",
  "\n\t    `urle.user`",
  "\n\t\tThe user part of  the effective (last)  URL that was  fetched.",
  "\t\t(Added in 8.1.0)",
  "\n\t    `urle.password`",
  "\n\t\tThe password  part  of  the  effective  (last)  URL  that  was",
  "\t\tfetched. (Added in 8.1.0)",
  "\n\t    `urle.options`",
  "\n\t\tThe  options  part  of  the  effective  (last)  URL  that  was",
  "\t\tfetched. (Added in 8.1.0)",
  "\n\t    `urle.host`",
  "\n\t\tThe host part of  the effective (last)  URL that was  fetched.",
  "\t\t(Added in 8.1.0)",
  "\n\t    `urle.port`",
  "\n\t\tThe port number of the effective (last) URL that was  fetched.",
  "\t\tIf no port number was specified, but the URL scheme  is known,",
  "\t\tthat scheme's default port number is shown. (Added in 8.1.0)",
  "\n\t    `urle.path`",
  "\n\t\tThe path part of  the effective (last)  URL that was  fetched.",
  "\t\t(Added in 8.1.0)",
  "\n\t    `urle.query`",
  "\n\t\tThe query part of the  effective (last) URL that was  fetched.",
  "\t\t(Added in 8.1.0)",
  "\n\t    `urle.fragment`",
  "\n\t\tThe fragment  part  of  the  effective  (last)  URL  that  was",
  "\t\tfetched. (Added in 8.1.0)",
  "\n\t    `urle.zoneid`",
  "\n\t\tThe  zone id  part  of  the  effective  (last)  URL  that  was",
  "\t\tfetched. (Added in 8.1.0)",
  "\n\t    `urlnum`",
  "\n\t\tThe URL index  number of this  transfer, 0-indexed.  Unglobbed",
  "\t\tURLs share the same  index number as  the origin globbed  URL.",
  "\t\t(Added in 7.75.0)",
  "\n\t    `url_effective`",
  "\n\t\tThe URL that was fetched last. This is most meaningful  if you",
  "\t\thave told curl to follow location: headers.",
  "\n\t    If --write-out is provided  several times, the  last set value  is",
  "\t    used.",
  "\n\t    Example:",
  "\t     curl -w '%{response_code}\\n' https://example.com",
  "\n\t    See also --verbose and --head.",
  "\n    --xattr",
  "\t    When saving output to a file, tell curl to store file  metadata in",
  "\t    extended file  attributes. Currently,  the URL  is stored  in  the",
  "\t    \"xdg.origin.url\" attribute  and, for  HTTP,  the content  type  is",
  "\t    stored in the \"mime_type\" attribute.  If the file system does  not",
  "\t    support extended attributes, a warning is issued.",
  "\n\t    Providing --xattr multiple times has  no extra effect. Disable  it",
  "\t    again with --no-xattr.",
  "\n\t    Example:",
  "\t     curl --xattr -o storage https://example.com",
  "\n\t    See also --remote-time, --write-out and --verbose.",
  "\nFILES",
  "\n    ~/.curlrc",
  "\n    Default config file, see --config for details.",
  "\nENVIRONMENT",
  "\n    The environment variables can  be specified in  lower case or upper  case.",
  "    The lower case version has precedence. \"http_proxy\" is an exception  as it",
  "    is only available in lower case.",
  "\n    Using an environment  variable to  set the  proxy has the  same effect  as",
  "    using the --proxy option.",
  "\n    `http_proxy` [protocol://]<host>[:port]",
  "\n\tSets the proxy server to use for HTTP.",
  "\n    `HTTPS_PROXY` [protocol://]<host>[:port]",
  "\n\tSets the proxy server to use for HTTPS.",
  "\n    `[url-protocol]_PROXY` [protocol://]<host>[:port]",
  "\n\tSets the proxy server  to use for  [url-protocol], where the  protocol",
  "\tis a  protocol that  curl supports  and as  specified in  a URL.  FTP,",
  "\tFTPS, POP3, IMAP, SMTP, LDAP, etc.",
  "\n    `ALL_PROXY` [protocol://]<host>[:port]",
  "\n\tSets the proxy server to use if no protocol-specific proxy is set.",
  "\n    `NO_PROXY` <comma-separated list of hosts/domains>",
  "\n\tlist of hostnames that should not  go through any proxy. If set to  an",
  "\tasterisk '*' only,  it matches all  hosts. Each name  in this list  is",
  "\tmatched as either a  domain name which  contains the hostname, or  the",
  "\thostname itself.",
  "\n\tThis  environment  variable  disables  use  of  the  proxy  even  when",
  "\tspecified with the --proxy option. That is",
  "\n\t    NO_PROXY=direct.example.com curl -x http://proxy.example.com",
  "\t    http://direct.example.com",
  "\n\taccesses the target URL directly, and",
  "\n\t    NO_PROXY=direct.example.com curl -x http://proxy.example.com",
  "\t    http://somewhere.example.com",
  "\n\taccesses the target URL through the proxy.",
  "\n\tThe list of hostnames can also be include numerical IP  addresses, and",
  "\tIPv6 versions should then be given without enclosing brackets.",
  "\n\tIP addresses can be specified  using CIDR notation: an appended  slash",
  "\tand number specifies the number  of \"network bits\" out of the  address",
  "\tto  use   in   the  comparison   (added   in  7.86.0).   For   example",
  "\t\"192.168.0.0/16\" would match all addresses starting with \"192.168\".",
  "\n    `APPDATA` <dir>",
  "\n\tOn Windows,  this  variable  is used  when  trying to  find  the  home",
  "\tdirectory. If the primary home variable are all unset.",
  "\n    `COLUMNS` <terminal width>",
  "\n\tIf set, the  specified number of  characters is  used as the  terminal",
  "\twidth when the  alternative progress-bar  is shown. If  not set,  curl",
  "\ttries to figure it out using other ways.",
  "\n    `CURL_CA_BUNDLE` <file>",
  "\n\tIf set, it is  used as the  --cacert value. This environment  variable",
  "\tis ignored if Schannel is used as the TLS backend.",
  "\n    `CURL_HOME` <dir>",
  "\n\tIf set, is  the first  variable curl  checks when trying  to find  its",
  "\thome directory. If not set, it continues to check XDG_CONFIG_HOME",
  "\n    `CURL_SSL_BACKEND` <TLS backend>",
  "\n\tIf curl was  built with support  for \"MultiSSL\",  meaning that it  has",
  "\tbuilt-in support  for  more than  one  TLS backend,  this  environment",
  "\tvariable can be  set to the  case insensitive  name of the  particular",
  "\tbackend to use  when curl  is invoked. Setting  a name that  is not  a",
  "\tbuilt-in alternative makes curl stay with the default.",
  "\n\tSSL  backend  names  (case-insensitive):  bearssl,  gnutls,   mbedtls,",
  "\topenssl, rustls, schannel, secure-transport, wolfssl",
  "\n    `HOME` <dir>",
  "\n\tIf set, this is used to  find the home directory when that is  needed.",
  "\tLike  when   looking   for   the  default   .curlrc.   CURL_HOME   and",
  "\tXDG_CONFIG_HOME have preference.",
  "\n    `QLOGDIR` <directory name>",
  "\n\tIf curl  was  built  with HTTP/3  support,  setting  this  environment",
  "\tvariable to  a  local  directory  makes curl  produce  qlogs  in  that",
  "\tdirectory, using file names named after the destination connection  id",
  "\t(in hex).  Do note that  these files  can become  rather large.  Works",
  "\twith the ngtcp2 and quiche QUIC backends.",
  "\n    `SHELL`",
  "\n\tUsed on VMS when trying to detect if using a DCL or a unix shell.",
  "\n    `SSL_CERT_DIR` <dir>",
  "\n\tIf set, it is  used as the  --capath value. This environment  variable",
  "\tis ignored if Schannel is used as the TLS backend.",
  "\n    `SSL_CERT_FILE` <path>",
  "\n\tIf set, it is  used as the  --cacert value. This environment  variable",
  "\tis ignored if Schannel is used as the TLS backend.",
  "\n    `SSLKEYLOGFILE` <filename>",
  "\n\tIf you set this  environment variable to  a filename, curl stores  TLS",
  "\tsecrets from its connections in  that file when invoked to enable  you",
  "\tto analyze the TLS traffic in real time using network  analyzing tools",
  "\tsuch as  Wireshark.  This  works  with  the  following  TLS  backends:",
  "\tOpenSSL, libressl, BoringSSL, GnuTLS and wolfSSL.",
  "\n    `USERPROFILE` <dir>",
  "\n\tOn Windows,  this  variable  is used  when  trying to  find  the  home",
  "\tdirectory. If  the other,  primary, variable  are all  unset. If  set,",
  "\tcurl uses the path \"$USERPROFILE\\Application Data\".",
  "\n    `XDG_CONFIG_HOME` <dir>",
  "\n\tIf CURL_HOME is not set, this  variable is checked when looking for  a",
  "\tdefault .curlrc file.",
  "\nPROXY PROTOCOL PREFIXES",
  "\n    The proxy string  may be specified  with a  protocol:// prefix to  specify",
  "    alternative proxy protocols.",
  "\n    If no protocol is specified in the proxy string or if the string  does not",
  "    match a supported one, the proxy is treated as an HTTP proxy.",
  "\n    The supported proxy protocol prefixes are as follows:",
  "\n    http://",
  "\n\tMakes it use it as an HTTP  proxy. The default if no scheme prefix  is",
  "\tused.",
  "\n    https://",
  "\n\tMakes it treated as an HTTPS proxy.",
  "\n    socks4://",
  "\n\tMakes it the equivalent of --socks4",
  "\n    socks4a://",
  "\n\tMakes it the equivalent of --socks4a",
  "\n    socks5://",
  "\n\tMakes it the equivalent of --socks5",
  "\n    socks5h://",
  "\n\tMakes it the equivalent of --socks5-hostname",
  "\nEXIT CODES",
  "\n    There are a bunch of  different error codes and their corresponding  error",
  "    messages that  may appear  under error  conditions. At  the  time of  this",
  "    writing, the exit codes are:",
  "\n    0",
  "\n\tSuccess.  The  operation  completed  successfully  according  to   the",
  "\tinstructions.",
  "\n    1",
  "\n\tUnsupported protocol.  This build  of  curl has  no support  for  this",
  "\tprotocol.",
  "\n    2",
  "\n\tFailed to initialize.",
  "\n    3",
  "\n\tURL malformed. The syntax was not correct.",
  "\n    4",
  "\n\tA feature or  option that was  needed to  perform the desired  request",
  "\twas not  enabled or  was explicitly  disabled at  build-time. To  make",
  "\tcurl able to do this, you probably need another build of libcurl.",
  "\n    5",
  "\n\tCould not resolve proxy. The given proxy host could not be resolved.",
  "\n    6",
  "\n\tCould not resolve host. The given remote host could not be resolved.",
  "\n    7",
  "\n\tFailed to connect to host.",
  "\n    8",
  "\n\tWeird server reply. The server sent data curl could not parse.",
  "\n    9",
  "\n\tFTP access denied.  The server denied  login or  denied access to  the",
  "\tparticular resource or directory you  wanted to reach. Most often  you",
  "\ttried to change to a directory that does not exist on the server.",
  "\n    10",
  "\n\tFTP accept failed. While waiting  for the server to connect back  when",
  "\tan active  FTP  session is  used,  an error  code  was sent  over  the",
  "\tcontrol connection or similar.",
  "\n    11",
  "\n\tFTP weird PASS reply. Curl could not parse the reply sent to  the PASS",
  "\trequest.",
  "\n    12",
  "\n\tDuring an active FTP session  while waiting for the server to  connect",
  "\tback to curl, the timeout expired.",
  "\n    13",
  "\n\tFTP weird PASV reply, Curl could not parse the reply sent to  the PASV",
  "\trequest.",
  "\n    14",
  "\n\tFTP weird 227  format. Curl could  not parse  the 227-line the  server",
  "\tsent.",
  "\n    15",
  "\n\tFTP cannot  use host. Could  not resolve  the host  IP we  got in  the",
  "\t227-line.",
  "\n    16",
  "\n\tHTTP/2 error. A problem was detected in the HTTP2 framing  layer. This",
  "\tis somewhat generic and  can be one out  of several problems, see  the",
  "\terror message for details.",
  "\n    17",
  "\n\tFTP could not set binary. Could not change transfer method to binary.",
  "\n    18",
  "\n\tPartial file. Only a part of the file was transferred.",
  "\n    19",
  "\n\tFTP could not download/access  the given file,  the RETR (or  similar)",
  "\tcommand failed.",
  "\n    21",
  "\n\tFTP quote error. A quote command returned error from the server.",
  "\n    22",
  "\n\tHTTP page not retrieved. The  requested URL was not found or  returned",
  "\tanother error  with  the HTTP  error code  being  400 or  above.  This",
  "\treturn code only appears if --fail is used.",
  "\n    23",
  "\n\tWrite error.  Curl  could not  write data  to  a local  filesystem  or",
  "\tsimilar.",
  "\n    25",
  "\n\tFailed starting the upload. For  FTP, the server typically denied  the",
  "\tSTOR command.",
  "\n    26",
  "\n\tRead error. Various reading problems.",
  "\n    27",
  "\n\tOut of memory. A memory allocation request failed.",
  "\n    28",
  "\n\tOperation  timeout.  The   specified  time-out   period  was   reached",
  "\taccording to the conditions.",
  "\n    30",
  "\n\tFTP PORT failed. The PORT command failed. Not all FTP  servers support",
  "\tthe PORT command, try doing a transfer using PASV instead.",
  "\n    31",
  "\n\tFTP could not use REST. The REST command failed. This command  is used",
  "\tfor resumed FTP transfers.",
  "\n    33",
  "\n\tHTTP range error. The range \"command\" did not work.",
  "\n    34",
  "\n\tHTTP post error. Internal post-request generation error.",
  "\n    35",
  "\n\tSSL connect error. The SSL handshaking failed.",
  "\n    36",
  "\n\tBad download resume. Could not continue an earlier aborted download.",
  "\n    37",
  "\n\tFILE could not read file. Failed to open the file. Permissions?",
  "\n    38",
  "\n\tLDAP cannot bind. LDAP bind operation failed.",
  "\n    39",
  "\n\tLDAP search failed.",
  "\n    41",
  "\n\tFunction not found. A required LDAP function was not found.",
  "\n    42",
  "\n\tAborted by callback. An application told curl to abort the operation.",
  "\n    43",
  "\n\tInternal error. A function was called with a bad parameter.",
  "\n    45",
  "\n\tInterface error. A specified outgoing interface could not be used.",
  "\n    47",
  "\n\tToo many redirects.  When following  redirects, curl  hit the  maximum",
  "\tamount.",
  "\n    48",
  "\n\tUnknown option specified to libcurl. This indicates that you passed  a",
  "\tweird option to curl that was passed on to libcurl and  rejected. Read",
  "\tup in the manual!",
  "\n    49",
  "\n\tMalformed telnet option.",
  "\n    52",
  "\n\tThe server did not reply anything, which here is considered an error.",
  "\n    53",
  "\n\tSSL crypto engine not found.",
  "\n    54",
  "\n\tCannot set SSL crypto engine as default.",
  "\n    55",
  "\n\tFailed sending network data.",
  "\n    56",
  "\n\tFailure in receiving network data.",
  "\n    58",
  "\n\tProblem with the local certificate.",
  "\n    59",
  "\n\tCould not use specified SSL cipher.",
  "\n    60",
  "\n\tPeer certificate cannot be authenticated with known CA certificates.",
  "\n    61",
  "\n\tUnrecognized transfer encoding.",
  "\n    63",
  "\n\tMaximum file size exceeded.",
  "\n    64",
  "\n\tRequested FTP SSL level failed.",
  "\n    65",
  "\n\tSending the data requires a rewind that failed.",
  "\n    66",
  "\n\tFailed to initialize SSL Engine.",
  "\n    67",
  "\n\tThe username, password, or  similar was not  accepted and curl  failed",
  "\tto log in.",
  "\n    68",
  "\n\tFile not found on TFTP server.",
  "\n    69",
  "\n\tPermission problem on TFTP server.",
  "\n    70",
  "\n\tOut of disk space on TFTP server.",
  "\n    71",
  "\n\tIllegal TFTP operation.",
  "\n    72",
  "\n\tUnknown TFTP transfer ID.",
  "\n    73",
  "\n\tFile already exists (TFTP).",
  "\n    74",
  "\n\tNo such user (TFTP).",
  "\n    77",
  "\n\tProblem reading the SSL CA cert (path? access rights?).",
  "\n    78",
  "\n\tThe resource referenced in the URL does not exist.",
  "\n    79",
  "\n\tAn unspecified error occurred during the SSH session.",
  "\n    80",
  "\n\tFailed to shut down the SSL connection.",
  "\n    82",
  "\n\tCould not load CRL file, missing or wrong format.",
  "\n    83",
  "\n\tIssuer check failed.",
  "\n    84",
  "\n\tThe FTP PRET command failed.",
  "\n    85",
  "\n\tMismatch of RTSP CSeq numbers.",
  "\n    86",
  "\n\tMismatch of RTSP Session Identifiers.",
  "\n    87",
  "\n\tUnable to parse FTP file list.",
  "\n    88",
  "\n\tFTP chunk callback reported error.",
  "\n    89",
  "\n\tNo connection available, the session is queued.",
  "\n    90",
  "\n\tSSL public key does not matched pinned public key.",
  "\n    91",
  "\n\tInvalid SSL certificate status.",
  "\n    92",
  "\n\tStream error in HTTP/2 framing layer.",
  "\n    93",
  "\n\tAn API function was called from inside a callback.",
  "\n    94",
  "\n\tAn authentication function returned an error.",
  "\n    95",
  "\n\tA problem was detected in  the HTTP/3 layer. This is somewhat  generic",
  "\tand can be  one out  of several  problems, see the  error message  for",
  "\tdetails.",
  "\n    96",
  "\n\tQUIC connection  error. This error  may be  caused by  an SSL  library",
  "\terror. QUIC is the protocol used for HTTP/3 transfers.",
  "\n    97",
  "\n\tProxy handshake error.",
  "\n    98",
  "\n\tA client-side certificate is required to complete the TLS handshake.",
  "\n    99",
  "\n\tPoll or select returned fatal error.",
  "\n    100",
  "\n\tA value or data field grew larger than allowed.",
  "\n    XX",
  "\n\tMore error codes might  appear here in  future releases. The  existing",
  "\tones are meant to never change.",
  "\nBUGS",
  "\n    If  you experience  any  problems  with  curl,  submit  an  issue  in  the",
  "    project's bug tracker on GitHub: https://github.com/curl/curl/issues",
  "\nAUTHORS",
  "\n    Daniel Stenberg is the main author, but the whole list of  contributors is",
  "    found in the separate THANKS file.",
  "\nWWW",
  "\n    https://curl.se",
  "\nSEE ALSO",
  "\n    ftp (1), wget (1)",
  NULL
};
void hugehelp(void)
{
  int i = 0;
  while(curlman[i])
    puts(curlman[i++]);
}
#endif /* USE_MANUAL */
